我有这个示例代码:
$myTrigger
.click(function(e){
alert('click');
})
.focus(function(e){
alert('focus');
$(this).click()
})
目的是我希望当您单击 $myTrigger 时发生一些事情。另一方面,如果您通过键盘(即焦点)点击它,我希望发生完全相同的事情,所以我要求它单击。
问题是如果我点击它,它也会聚焦。所以两个警报都会响起。
有没有办法防止点击时焦点事件消失?
UPDATE:
Ajm 的评论让我觉得我可能问错了。
问题:单击事件是否总是会在 javascript(和/或 jQuery 中?)中触发焦点。我是否可以假设每当我想要处理鼠标单击和键盘切换时, focus() 事件都会处理这两者?
或者它取决于我将事件附加到的特定元素? (在这种情况下 $myObject 恰好是一个锚标记(链接)。
jQuery 有一个内置函数用于此目的,但通常不会使用该函数.one()
$mytrigger.one('click focus', function() { alert("event"); });
这只会触发一次,或者您可以根据需要重新绑定。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)