我有:
<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;
});
希望这可以帮助你!