JQuery委托事件就像直接事件一样工作

时间:2014-04-23 22:37:28

标签: javascript jquery javascript-events

我在页面中添加了动态按钮,当我点击它时,我想要发出一个AJAX请求。

但我的代码会处理每个文档的点击,我做错了什么?

    <script type="text/javascript"> 
      var $selButton=$("input[id^=btn_match_]"); 

      $(document).on("click", $selButton, function (e) {
          //  code is executing on every click on the page              
          //  and not only on button click
      });
    </script>

我的一个按钮:

<input id="btn_match_26179" class="btn btn-primary btn-xs" type="submit">

1 个答案:

答案 0 :(得分:1)

选择器应该是一个字符串,而不是一个jQuery对象。如果它不是字符串,那么它将作为event.data传递给处理程序,而不是作为选择器。请参阅docs

试试这个:

  var selector = "input[id^=btn_match_]";

  $(document).on("click", selector, function (e) {
      // ...
  });