没有事件的jQuery live bind

时间:2017-03-25 09:57:36

标签: javascript jquery

jQuery.fn.extend({
  testfunc: function() {
    $(this).click(function() {
      alert("testfunc!");
    });
  }
});
$("#container").on('click', "button", function() {
  $(this).testfunc();
});

$("#container").append('<button class="dynamic-buttons"  type="button" >button2</button>');
$("#container").append('<button class="dynamic-buttons"  type="button" >button3</button>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="container">
  <button class="dynamic-buttons" type="button">button</button>
</div>

我有一个jQuery函数,不允许更改。我需要将该函数用于动态创建的html对象。 on()函数需要绑定一个事件,但我的函数已经有了click事件,这就是问题!

1 个答案:

答案 0 :(得分:1)

https://jsfiddle.net/aqLstehj/3/

检查出来

您需要绑定&#39; DOMNodeInserted&#39;

的事件
$(document).on("DOMNodeInserted", "#container button", function() {
    $(this).testfunc();
})