我正在研究一個結合了HTML
和JQuery
的項目。有一個事件可以從外部html文件(使用load('some.html #someDiv'
))取代div
和新的div
)。收聽從外部文件加載到div的元素上的事件
到目前爲止,問題開始時,我試圖聽一個事件(click
如果很重要)的IMG,這是新的div
的一部分。
我猜這跟我沒有在ready
函數中定義該img的點擊事件有關,因爲圖像在當時並不存在。
反正沒有什麼我能想到的解決這個似乎沒有work..Thanks的助手
我正在研究一個結合了HTML
和JQuery
的項目。有一個事件可以從外部html文件(使用load('some.html #someDiv'
))取代div
和新的div
)。收聽從外部文件加載到div的元素上的事件
到目前爲止,問題開始時,我試圖聽一個事件(click
如果很重要)的IMG,這是新的div
的一部分。
我猜這跟我沒有在ready
函數中定義該img的點擊事件有關,因爲圖像在當時並不存在。
反正沒有什麼我能想到的解決這個似乎沒有work..Thanks的助手
使用.on()
$(document).on('click','#newDiv img',function(){
});
使用.on()
http://api.jquery.com/on/
$(document).on('click','.someNevDiv img', function() {
// Code on click
});
與您的代碼:
$("#newDiv").click(function() { onNewDivClicked(); });
應該是:
$(document).on('click', '#newDiv', function() {
onNewDivClicked();
});
也許是一個愚蠢的問題,但我應該在哪裏寫它? – user1908466
在同一個地方,你會放置一個常規的'$(element).click()'事件。一般在'$(document).ready(function(){// here});':) – Kaloyan
多數民衆贊成在我原來的嘗試。它看起來像這樣: '$( 「#newDiv」)點擊(函數(){ \t \t onNewDivClicked(); \t});' 問題是(我認爲)沒有 'newDiv' DIV在調用ready函數的頁面中 – user1908466
試試你添加的元素結合後點擊:
根據jQuery的文檔這裏即: http://api.jquery.com/load/#callback-function
你應該能夠做這樣的事:
$('#result').load('ajax/test.html', function() {
$('#result img').bind('click', function(){
alert('this is fired on a click event on images inside of #result');
});
});
你有任何代碼或錯誤,這可能會發生? – jycr753
你想知道**事件代表團** http://lab.distilldesign.com/event-delegation/ – Nelson
你的問題是它不會將處理程序綁定到新加載的元素? (即它是否將處理程序成功綁定到已經加載的元素?) –