好的,我需要知道处理这种情况的最佳方法。
我在屏幕上有许多按钮,使用类似于以下的代码。
<a id="btn[1]" class="button">Some Text</a>
<a id="btn[2]" class="button">Some Text</a>
<a id="btn[etc]" class="button">Some Text</a>
id标签内[]内的数字是指我为了ajax目的而需要稍后去掉的记录ID。
要设置这组按钮的监听器,我通常会使用以下内容:
$('.button').live('click', function() {
do something with items blah blah blah
}
然而,我正在使用页面上的其他按钮,这些按钮也使用我不希望附加此侦听器的按钮类。所以我希望有一个简单的方法可以解决这个问题。喜欢通过标签名称或ref属性中的某些内容来抓取元素集合???
任何有语法的想法都会受到赞赏。
答案 0 :(得分:0)
正如@ j08691所说,.live()
函数已弃用。
此外,您需要将处理程序设置为父元素,并提供“第二个”选择器(定义target-childs)参数,以使.on()
工作委派。
$( "#dataTable tbody" ).on( "click", "tr", function() {
alert( $( this ).text() );
});
委托事件方法仅将事件处理程序附加到一个元素 nt,tbody和事件只需要冒一个级别(从点击的tr到tbody):