Javascript自定义事件 - 触发所有侦听器

时间:2015-10-23 12:54:44

标签: javascript jquery

我想创建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
});

1 个答案:

答案 0 :(得分:3)

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

  

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

脚本

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