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