Javascript 如何使用ON而不是LIVE
可能重复: 我对jQuery有以下几点看法:Javascript 如何使用ON而不是LIVE,javascript,jquery,html,Javascript,Jquery,Html,可能重复: 我对jQuery有以下几点看法: $(".house td[red]").live("click", function() { alert('ok'); }); 但live函数已被弃用。我怎样才能用在手机上 $(".house td[red]").on("click", function() { alert('ok'); }); 不工作 $(
$(".house td[red]").live("click", function() {
alert('ok');
});
但live函数已被弃用。我怎样才能用在手机上
$(".house td[red]").on("click", function() {
alert('ok');
});
不工作
$(".house").on("click", 'td[red]', function() {
alert('ok');
});
你试过这个吗?您可以查看详细信息。例如:
$("#dataTable tbody").on("click", "tr", function(event){
alert($(this).text());
});
所以你们基本上是把一个容器传递给包装器。不建议使用live的原因是,可以使用以下语法编写live:
$(document).on("click", '.house td[red]', function() {
alert('ok');
});
你可以看到这不是很有效。可能还有更多:所以你想改变它是件好事
$(document).on('click', '.house td[red]', function(){
alert('ok');
});
你试过这个吗?您可以查看详细信息。例如:
$("#dataTable tbody").on("click", "tr", function(event){
alert($(this).text());
});
所以你们基本上是把一个容器传递给包装器。不建议使用live的原因是,可以使用以下语法编写live:
$(document).on("click", '.house td[red]', function() {
alert('ok');
});
你可以看到这不是很有效。可能还有更多:所以你想改变它是件好事
$(document).on('click', '.house td[red]', function(){
alert('ok');
});
文档是我们希望附加处理程序的静态元素
第一个参数是事件
第二个参数是选择器
第三个参数是您希望在触发事件时针对选择器运行的函数
文档是我们希望附加处理程序的静态元素
第一个参数是事件
第二个参数是选择器
第三个参数是您希望在触发事件时针对选择器运行的函数。这是一个三参数变量,您可以选择泡点:
$('body').on('click', '.house td[red]', function() { alert("ok"); });
不同之处在于,实际事件处理程序的放置点在您的控制之下,就像不推荐使用的.delegate一样。您可以选择任何您喜欢的父元素,这在复杂页面中是一个很好的特性。例如,在您的例子中,您可以将处理程序放在所有.house元素上,而不是主体上。这是一个三参数变量,您可以选择泡点:
$('body').on('click', '.house td[red]', function() { alert("ok"); });
不同之处在于,实际事件处理程序的放置点在您的控制之下,就像不推荐使用的.delegate一样。您可以选择任何您喜欢的父元素,这在复杂页面中是一个很好的特性。例如,在您的情况下,可以将处理程序放在所有.house元素上,而不是放在body上。试试这个
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
试试这个
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
将其用作—
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
更有效的方法是使用.on和元素的直接父元素-
$('.house').on("click", "td[red]", function() {
alert('ok');
});
阅读以更好地理解live和on之间的区别将其用作-
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
更有效的方法是使用.on和元素的直接父元素-
$('.house').on("click", "td[red]", function() {
alert('ok');
});
阅读以更好地理解直播和直播之间的区别直播是一种全方位的功能,可以以不同的方式工作,包括直接活动和委托活动。现场直播是实现授权活动的一种方式。这是通过on实现的,方法是将过滤器作为param 2传递,并将回调转发到param 3:
$(".house").on("click", 'td[red]', function() {
alert('ok');
});
on是一个“一切对所有人”的功能,它可以以不同的方式工作——包括直接事件和委托事件。现场直播是实现授权活动的一种方式。这是通过on实现的,方法是将过滤器作为param 2传递,并将回调转发到param 3:
$(".house").on("click", 'td[red]', function() {
alert('ok');
});
将直接转换为:
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
但是,通过指定绑定时已知将存在的最近的容器,可以获得一些性能:
$('#someContainer').on("click", ".house td[red]", function() {
alert('ok');
});
将直接转换为:
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
但是,通过指定绑定时已知将存在的最近的容器,可以获得一些性能:
$('#someContainer').on("click", ".house td[red]", function() {
alert('ok');
});
我更喜欢mkk的解决方案。这样做,你几乎失去了在线直播的所有优势。From:从继承者的角度重写.live方法是直截了当的;这是所有三个事件附件方法的等效调用模板:…$document.onevents、selector、data、handler;//jQuery 1.7+…我更喜欢mkk的解决方案。这样做,你几乎失去了在线直播的所有优势。From:从继承者的角度重写.live方法是直截了当的;这是所有三个事件附件方法的等效调用模板:…$document.onevents、selector、data、handler;//jQuery 1.7+…live绑定到文档,而不是正文,尽管我不确定这会有什么不同。@jbabey在你发表评论之前我已经更改了它:但是很快就看到了!live绑定到文档,而不是正文,尽管我不确定这是否有任何区别。@jbabey在您发布评论之前我已经更改了它:但是好快的眼睛!