Javascript自定义事件——触发所有监听器

Javascript custom events - trigger to all listeners

本文关键字:监听器 自定义 事件 Javascript      更新时间:2023-09-26

我想创建customEvent。例如,我有一些元素,每个人都在听这个事件。当我点击其中一个时,我想触发我的customEvent。怎么做呢?

的例子:

var customEvent = new Event('customEvent');
var $ul = $('ul');
var $markers = $('#map').find('.markers');
// UL>LI
$ul.delegate('click', 'li', function(){
    customEvent.trigger();
});
$ul.delegate('customEvent', 'li', function(){
    $ul.find('li').removeClass("active");
});
// MAP MARKERS
$markers.on('click', 'li', function(){
    customEvent.trigger();
});
$markers.on('customEvent', function(){
    // do sth
});

这很简单,您需要使用.trigger()函数

为给定的事件类型执行附加到匹配元素的所有处理程序和行为。

脚本

ele.on('click', function() {  
      $(this).trigger('customEvent');
      //Or, $(this).trigger(customEvent); 
});