您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

javascript在动态创建的元素上进行事件绑定?

javascript在动态创建的元素上进行事件绑定?

您应该使用[jQuery.fn.on]:

$(staticAncestors).on(eventName, dynamicChild, function() {});

,推荐的方法是使用live()

$(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>
javascript 2022/1/1 18:19:38 有512人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶