jQuery:将侦听器设置为一组链接

时间:2014-01-15 18:07:38

标签: jquery html database dom

好的,我需要知道处理这种情况的最佳方法。

我在屏幕上有许多按钮,使用类似于以下的代码。

<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属性中的某些内容来抓取元素集合???

任何有语法的想法都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

正如@ j08691所说,.live()函数已弃用。 此外,您需要将处理程序设置为父元素,并提供“第二个”选择器(定义target-childs)参数,以使.on()工作委派。


来自http://api.jquery.com/on/

$( "#dataTable tbody" ).on( "click", "tr", function() {
  alert( $( this ).text() );
});

委托事件方法仅将事件处理程序附加到一个元素 nt,tbody和事件只需要冒一个级别(从点击的tr到tbody):