0

我将如何一起使用 .on 和 .each ?

$('[id^="thing"]').each(???)

一个将是:

 $("#button").on("click", function() {
                    console.log(this.id)
 })
4

5 回答 5

6

调用.on()包含多个元素的 jQuery 对象会将处理程序添加到每个元素。

于 2013-05-30T15:42:43.803 回答
2
$('[id^="thing"]').on("click", function() { });
于 2013-05-30T15:43:06.440 回答
1

您可以使用此版本指定选择器,以指定哪些子元素应触发事件。

$('[id^="thing"]').on('click','button (or whatever selector)', function(){
  // "this" refers to triggering element
  alert($(this).text());
});
于 2013-05-30T15:50:11.817 回答
-1

尝试

   $('[id^="thing"]').each(function(i, el) {
        $(el).on("click", function() {                 
       })
    });
于 2013-05-30T15:43:54.983 回答
-1

不需要.each,.on _

你想要的东西只能用这个来完成——

一个好方法

$(document).on('click','[id^="thing"]', function() {
    console.log(this.id)
});

它可以随心所欲地完成,但它会无缘无故地影响性能

您想要但要避免的方式

$('[id^="thing"]').each(function(){
  $(this).on('click', function() {
    console.log(this.id)
  });
});

如果您将.on在内部使用,.each
最终可能会以这种方式 多次绑定事件

错误的方法

$('[id^="thing"]').each(function(){
  $('[id^="thing"]').on('click', function() {
    console.log(this.id)
  });
});
于 2013-05-30T15:47:37.447 回答