gpt4 book ai didi

javascript - 确定焦点事件 : click or tabstop

转载 作者:数据小太阳 更新时间:2023-10-29 05:16:50 25 4
gpt4 key购买 nike

如果焦点在点击事件或制表位上触发,如何确定 jQuery 上的焦点事件?我有这个焦点事件,如果焦点由制表位触发,我将执行某些操作,如果是点击,我将不执行。

伪代码

$('a').focus(function(){
if(ThisIsTabStop()) {
IWillExecuteThis();
}
});

最佳答案

如果一个元素被点击,mousedown 事件在获得焦点之前触发。你只需要设置一个数据属性,并在焦点事件中检查它。

试试这个演示:http://jsfiddle.net/KcGcF/1/

$('a').mousedown(function(e){
var $this = $(this);

// Only set the data attribute if it's not already focused, as the
// focus event wouldn't fire afterwards, leaving the flag set.
if(!$this.is(':focus')){
$this.data('mdown',true);
}
});

$('a').focus(function(e){
var $this = $(this);
var mdown = $this.data('mdown');

// Remove the flag so we don't have it set next time if the user
// uses the tab key to come back.
$this.removeData('mdown');

// Check if the mousedown event fired before the focus
if(mdown){
// Click
} else {
// Tab
}
});

关于javascript - 确定焦点事件 : click or tabstop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com