触发自定义jquery事件

时间:2016-06-16 16:15:15

标签: jquery events triggers

我正在动态创建一些表单元素,我需要为每个元素触发一个事件。

说我有这样的事情:

$("#select_123").val("easy").change().trigger("createRow");


$("#container").bind("createRow",function() {
   //doStuff
}

如何链接.trigger来运行“createRow”事件?更好的是,我如何使用.delegate代替.bind?

1 个答案:

答案 0 :(得分:1)

您的代码在您为其处理了一个处理程序之前触发了该事件。如果你颠倒了订单,那就可以了。

它还可以处理事件委派,因为默认情况下jQuery的自定义事件会冒泡。所以你只需触发孩子的事件并在父母身上观察它。

示例:



$(".child").on("click", function() {
  // Fire the custom event on the child element
  $(this).trigger("custom-event");
});

// Watch for custom events using delegation
$("#parent").on("custom-event", ".child", function(e) {
  console.log("Got event: " + e.type);
});

<div id="parent">
  <div class="child">Click me</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
&#13;
&#13;