代码片段 → jQuery 代码片段 → 检查事件是否被触发或原生 检查事件是否被触发或原生 Chris Coyier 于 2010年12月25日 $('button').click(function(event, wasTriggered) { if (wasTriggered) { alert('triggered in code'); } else { alert('triggered by mouse'); } }); $('button').trigger('click', true);
可能需要注意的是,如果有人编写 $(‘button’).click(),它会显示“由鼠标触发”。
看起来 jQuery 更新的 .on() 不支持此技术。以下方法只需利用事件对象即可工作
抱歉 - 打错了
2021年更新:在我的测试中,单独使用 event.originalEvent 已经不再有效。
这可以工作
if (e.originalEvent.isTrusted === false) alert('triggered by code')
嘿,Ben,
我认为你的代码更好:)
干杯!