页面上的多个jquery document.ready槽ajax
我有一个页面,它使用jQuery document.ready
来填充单击按钮时div的内容。页面上的多个jquery document.ready槽ajax
div内的内容也使用jquery来创建图像的悬停预览(也在此div内)。但我不能再次使用document.ready
。这应该如何实施?
您可以随意多次使用document.ready
。他们从头到脚执行。
使用回调函数或函数。或两者。
$(document).ready(function(){
$(element).click(function(){
alert('bla')
});
$(element).hover(function(){
call_alert('bla');
});
});
function call_alert(stringer) { alert(stringer) }
,如果你做到以下几点,它类似的document.ready
(function(){
//your code here
alert('this fired when the dom was ready');
})();
虽然真正的问题是实际上没有涉及到的document.ready。这只是使得脚本不会被执行,直到dom中的所有内容都被加载到浏览器缓存中。基本上只是创建你的函数绑定按钮点击,然后在其回调绑定悬停功能的图像。否则,查看图像的.live()函数。
这可能是一个很好的答案。如果你实际上不需要document.ready,你应该使用.live ... http://api.jquery.com/live/ – frosty
$(文件)。就绪(函数(){ })
只是说对文档对象的就绪事件,在加载DOM时触发一个事件这个匿名函数中执行的代码。
其中,您可以根据需要为尽可能多的事件分配尽可能多的功能。
在加载dom之前,Javascript会被解析,并且所有的函数都会绑定到浏览器的存储器中的事件。所以,你所说的是将所有这些函数绑定到所有这些事件,但只有在dom准备好之后,才能保存查找还没有被解析的元素。
你可以像下面这样做
$(document).ready(function() {
$("h1").click(function() {
alert("Someone clicked h1");
});
$("h2").hover(function() {
alert("someone is hovering our h2s"); //never do this as it will fire endless alerts and crash the browser.
})
})
或者这样:
function hover_func(el) {
alert("someone is hovering over"+el.tagName);
}
function hover_func(el) {
alert("someone clicked"+el.tagName);
}
$(document).ready(function() {
$("h1").click('click_func($(this))');
$("h2").hover('hover_func($(this))');
})
所以,如果你,但在TJAT按钮属性附加伤害:的onClick = “call_alert( '你好')”,将工作如你所愿。 –
使用jquery的主要原因之一是,所以我们不需要在html标记中拥有我们的js功能 –
我不认为这很糟糕。 AJAX之后重新设置事件是很难想到的。 –