我想创建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
});
答案 0 :(得分:3)
很简单,你需要使用.trigger()
函数
执行附加到给定事件类型的匹配元素的所有处理程序和行为。
脚本
ele.on('click', function() {
$(this).trigger('customEvent');
//Or, $(this).trigger(customEvent);
});