确定焦点是否是由于点击事件而接收的
- 论坛
- 确定焦点是否是由于点击事件而接收的
7 浏览
确定焦点是否是由于点击事件而接收的
我有一个元素,可以通过代码设置焦点,也可以通过鼠标点击设置焦点。
如果用户点击输入框,那么click
事件处理程序将会触发。如果元素通过其他方式(例如通过代码)接收到焦点,那么我希望手动触发click
事件,以便触发处理程序。
我可以这样做:
$elem = $('input'); $elem .on('focus', function() { $(this).trigger('click') }) .on('click', function() { alert('Clicked!') });
然而,这将导致click
处理程序被触发两次;一次是click
事件,一次是focus
事件。
有没有办法只在焦点不是由点击事件引起时选择性地触发click
处理程序?
更新
这只是我的问题的一个非常简化的版本,所以我不能像绑定两个处理程序到focus
事件等。我正在尝试合并两个第三方代码。