如何用on函数替换jquery live
我有这个密码如何用on函数替换jquery live,jquery,events,live,Jquery,Events,Live,我有这个密码 $(".myclass").on("click", function(e){ alert('Hello'); }); 现在它无法处理Dynamicly添加的元素 如何使用like-live函数您需要在代码中包含jQuery 1.7版及以上版本 因为您正在动态添加委派事件所需的元素 $("body").on("click",'.myclass', function(e){ alert('Hello'); }); 事件不会附加到在关联单击事件之后添加的元素。
$(".myclass").on("click", function(e){
alert('Hello');
});
现在它无法处理Dynamicly添加的元素
如何使用like-live函数您需要在代码中包含
jQuery 1.7版及以上版本
因为您正在动态添加委派事件所需的元素
$("body").on("click",'.myclass', function(e){
alert('Hello');
});
事件不会附加到在关联单击事件之后添加的元素。这就是您需要将事件添加到父容器的原因。父容器会由于事件冒泡而将事件添加到子事件。在页面加载时将上的附加到DOM中存在的元素,并委托给.myclass
,例如:-
$('#classContainer').on('click', '.myclass', function(e) {
alert('Hello');
});
要像live一样使用它,您必须使用,这意味着您将处理程序附加到从一开始就存在的父元素,如:
$(document).on('click', '.myclass', function(e){
alert('Hello');
});
注意中的内容:
事件处理程序仅绑定到当前选定的元素;他们
在代码调用.on()时页上必须存在。
要确保元素存在并且可以选择,请执行事件
在文档就绪处理程序中为
页面上的HTML标记。如果新的HTML被注入到页面中,
选择元素并在创建新HTML后附加事件处理程序
放入页面中。或者,使用委派事件附加事件
处理程序,如下所述
此外,如果您担心性能问题,请尝试将处理程序连接到尽可能“低”的位置:
在文档顶部附近附加许多委托事件处理程序
树可能会降低性能。每次事件发生时,jQuery都必须
将该类型的所有附加事件的所有选择器与
从事件目标到事件顶部的路径中的元素
文件。为获得最佳性能,请在文档中附加委派事件
尽可能靠近目标元素的位置。避免过度
使用document或document.body处理大型服务器上的委托事件
文件
请看:[[1]:可能是一个开始的好地方。。。