Javascript 停止绑定”;模糊“;如果单击链接

Javascript 停止绑定”;模糊“;如果单击链接,javascript,javascript-events,jquery,Javascript,Javascript Events,Jquery,我的绑定函数: $searchInput.bind('blur', function() { $searchResults.remove(); } 但如果我点击$searchResults内的链接,这种情况就不会发生。现在$searchResults在我点击链接之前就被删除了。 我应该怎么做?我想到的一个选项是延迟执行$.remove()调用,如下所示: $searchInput.bind('blur', function() { setTimeout(function() {

我的绑定函数:

$searchInput.bind('blur', function() {
  $searchResults.remove();
}
但如果我点击$searchResults内的链接,这种情况就不会发生。现在$searchResults在我点击链接之前就被删除了。
我应该怎么做?

我想到的一个选项是延迟执行
$.remove()
调用,如下所示:

$searchInput.bind('blur', function() {
    setTimeout(function() {
        $searchResults.remove();
    }, 100);
}

您只需将鼠标置于
$searchResults
上方即可:

var isOver = false;
$searchInput.bind("blur", function(e) {
    if (!isOver) {
        $searchResults.remove();
    }
});

$searchResults.hover(function() {
    isOver = true;
}, function() {
    isOver = false;
});
演示:


您可以通过元素数据执行相同操作,例如设置
$searchResults.data(“isOver”,true)

链接不在输入元素中:p
var isOver = false;
$searchInput.bind("blur", function(e) {
    if (!isOver) {
        $searchResults.remove();
    }
});

$searchResults.hover(function() {
    isOver = true;
}, function() {
    isOver = false;
});