我有:
<input type="text" />
和
$('input').blur(function(){
alert('stay focused!');
});
我想通过单击 anchor 元素来防止“模糊”时运行模糊功能。
即如果我切换到其他输入,请单击页面上的某处,等等,我希望模糊触发,但是如果我单击链接,则不希望其触发。
这是容易实现的,还是我需要与代表和信号灯相处?
谢谢
最佳答案
我今天也必须自己解决这个问题。我发现mousedown事件在blur事件之前触发,因此您所需要做的就是设置一个变量,该变量指示mousedown事件首先发生,然后适当地管理您的blur事件。
var mousedownHappened = false;
$('input').blur(function() {
if(mousedownHappened) // cancel the blur event
{
alert('stay focused!');
$('input').focus();
mousedownHappened = false;
}
else // blur event is okay
{
// Do stuff...
}
});
$('a').mousedown(function() {
mousedownHappened = true;
});
希望这对您有帮助!!
关于jquery - 单击jQuery中的链接时如何防止blur()运行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7621711/