在jQuery中点击链接时如何防止blur()运行?

前端之家收集整理的这篇文章主要介绍了在jQuery中点击链接时如何防止blur()运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有:
<input type="text" />

$('input').blur(function(){
    alert('stay focused!');
});

当我通过点击锚点元素“模糊”时,我想防止模糊功能运行。

I.E.如果我选择到另一个输入,点击页面上的某个地方,我想要模糊的火,但如果我点击一个链接,我不想要它。

这是否容易实现,或者是否需要与代表和信号量进行交流?

谢谢

解决方法

我今天也不得不解决这个问题。我发现mousedown事件在模糊事件之前触发,所以你需要做的是设置一个变量,指示首先发生mousedown事件,然后适当地管理你的模糊事件。
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;
});

希望这可以帮助你!

原文链接:https://www.f2er.com/jquery/183363.html

猜你在找的jQuery相关文章