我知道你可以綁定到單擊事件使用jQuery像這樣:捕獲所有`了`點擊包括那些添加dynamcally
$('a').click(function(){});
但對於動態添加HTML元素?比方說,我有以下內容的div
:
<div>
<a href='location.html'>location</a>
</div>
現在我打電話:
$('a').click(
function(){
console.log("going to " + $(this).attr('href'));
return true;
});
這將正常工作。但是,如果某處沿線我打電話
$('div').("<a href='location2.html'>location2</a>");
沒有明確地結合該事件處理該事件,則事件處理程序將拿起它。
是否有可能在添加新的a
元素時重新綁定。或者甚至更好,當location.href
屬性發生變化時,我可以每次向它添加一個get參數。
例如,如果我是一個a
元素綁定到click事件的事件處理程序是:
function(){
var newid = parseInt(Obj.Request('pageid'), 10) + 1;
location.href = $(this).attr('href') + '?pageid=' + newid.toString();
return false;
}
假設Obj.Request
是返回一個GET參數的函數。 (我已經有這個地方)。
這會抓住所有匹配它嗎?無論它是動態還是靜態添加的? – FabianCook 2013-03-20 01:21:31
是的,請參閱http://api.jquery.com/on/ – thomas 2013-03-20 01:21:47
請參閱... http://jsfiddle.net/L2CG2/ 我想讓'2'引發事件。但是不是每次都明確地調用'on',更有另一個事件處理函數來抓取它併爲我做這件事? – FabianCook 2013-03-20 01:28:11