我的绑定功能:
$searchInput.bind('blur', function() {
$searchResults.remove();
}
但如果我点击$ searchResults内的链接,就不会发生这种情况。现在,在我点击链接之前删除了$ searchResults。 我该怎么做?
答案 0 :(得分:2)
您可以在$searchResults
上的鼠标上设置一个标记:
var isOver = false;
$searchInput.bind("blur", function(e) {
if (!isOver) {
$searchResults.remove();
}
});
$searchResults.hover(function() {
isOver = true;
}, function() {
isOver = false;
});
DEMO: http://jsfiddle.net/sUA4D/
您可以通过元素数据执行相同操作,例如设置$searchResults.data("isOver", true)
。
答案 1 :(得分:1)
我想到的一个选择是延迟执行$.remove()
调用,如下所示:
$searchInput.bind('blur', function() {
setTimeout(function() {
$searchResults.remove();
}, 100);
}
答案 2 :(得分:0)
$searchInput.find('a').on('click', function() {
$searchResults.remove();
});