我想创建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);
});
关于javascript - Javascript自定义事件-触发所有监听器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33302855/