我有一个按钮,可以在点击时执行某些操作。例如
$(function() {
$('button1').click(function(e){
/** This is just a pseudocode
if( me.triggering ) {
doTrigger();
}else{
doClick();
}
**/
})
$('button2').click(function(e){
$('button1').trigger('click')
})
});
如何通过调用trigger
或用户点击来判断事件是否正在执行?
答案 0 :(得分:5)
检查e.originalEvent
。它应该在真正点击的情况下设置:
$('button1').click(function(e) {
if (e.originalEvent) {
doClick();
}
else {
doTrigger();
}
});
您还可以在触发事件时传递其他标志参数以区分触发器:
$('#button1').trigger('click', [true]);
$('#button1').click(function (e, trigger) {
if (!trigger) {
alert('do click');
} else {
alert('do trigger');
}
})