我用jQuery:
$(".house td[red]").live("click", function() {
alert('ok');
});
但功能现场已被弃用。我如何使用?
$(".house td[red]").on("click", function() {
alert('ok');
});
不工作。
我用jQuery:
$(".house td[red]").live("click", function() {
alert('ok');
});
但功能现场已被弃用。我如何使用?
$(".house td[red]").on("click", function() {
alert('ok');
});
不工作。
这是一个三参数变的,你来挑“泡沫”点:
$('body').on('click', '.house td[red]', function() { alert("ok"); });
不同的是,与此,在该实际事件处理程序被放置在点下您的控制权(如同也不赞成的.delegate()
)。你可以选择你喜欢的任何父元素,这在复杂的页面中是一个很好的功能。 (就你而言,例如,你可以把处理程序放在所有“.house”元素而不是body上。)
$(".house").on("click", 'td[red]', function() {
alert('ok');
});
你试过吗?详情请查看in documentation。从那里的例子:
所以你基本上通过一个“容器”的包装。不建议为什么活的原因是,它可以与“上”语法这样写:
$(document).on("click", '.house td[red]', function() {
alert('ok');
});
,你可以看看是不是很有效。也许还有更多的:)因此它是好的,你想改变它。
$(document).on('click', '.house td[red]', function(){
alert('ok');
});
Document是我们希望附加到我们的处理程序的静态元素。
第一个参数是事件
二参数是选择
第三个参数是要对选择运行时,在事件被触发的功能。
试试这个,
$(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');
});
读here为更好地了解之间的区别和on
$(document).on("click",".house td[red]",function(){
alert('ok');
});
on()
是一个全功能的东西对所有的男人功能,能够以不同的方式工作 - 无论是直接和委托的事件。 live()
是实现委托事件的一种手段。这是通过一个过滤器参数2,和碰撞回调与on()
实现到参数3:
$(".house").on("click", 'td[red]', function() {
alert('ok');
});
$(".house td[red]").live("click", function() {
alert('ok');
});
将直接转换成这样:
$(document).on("click", ".house td[red]", function() {
alert('ok');
});
但你可以得到一些通过指定您知道在绑定时存在的最接近容器的性能:
$('#someContainer').on("click", ".house td[red]", function() {
alert('ok');
});
“not working”;) – 2012-08-14 14:20:13