您应该使用[jQuery.fn.on
]:
$(staticAncestors).on(eventName, dynamicChild, function() {});
$(selector).live( eventName, function(){} );
但是,live()
在1.7中弃用on()
,而在1.9中完全删除了。该live()
签名:
$(selector).live( eventName, function(){} );
…可以替换为以下on()
签名:
$(document).on( eventName, selector, function(){} );
例如,如果您的页面正在使用类名动态创建元素,则dosomething
可以将事件绑定到 (这是问题的小结,您需要绑定到现有的东西,而不要绑定到动态内容),则可以(也是最简单的选择)是document
。尽管记住[document
可能不是最有效的选择]。
$(document).on('mouSEOver mouSEOut', '.dosomething', function(){
// what you want to happen when mouSEOver and mouSEOut
// occurs on elements that match '.dosomething'
});
绑定事件时存在的任何父项都可以。例如
$('.buttons').on('click', 'button', function(){
// do something here
});
适用于
<div class="buttons">
<!-- <button>s that are generated dynamically and added here -->
</div>