我有一個頁面,它使用jQuery document.ready
來填充單擊按鈕時div的內容。頁面上的多個jquery document.ready槽ajax
div內的內容也使用jquery來創建圖像的懸停預覽(也在此div內)。但我不能再次使用document.ready
。這應該如何實施?
我有一個頁面,它使用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之後重新設置事件是很難想到的。 –