我在输入元素上设置了焦点事件。当有焦点时,jQuery会搜索div并显示它。这样可行。在同一个输入元素上找到模糊事件我使div隐藏,这也有效。但是,当我点击链接或想要在显示的div中选择文本时,由于模糊事件,它会立即消失。如何为显示的div做出异常?
$("input.search-main-text").focus(function() {
$("div.quickResults").show();
});
$("input.search-main-text").blur(function() {
$("div.quickResults").hide();
});
答案 0 :(得分:2)
$("input.search-main-text").bind('focus', function() {
$("div.quickResults").show();
$(document).bind('mousedown', function(e) {
if (! $(e.target).closest('div.quickResults').length) {
$("div.quickResults").hide();
$(document).unbind('mousedown', arguments.callee);
}
})
});
答案 1 :(得分:1)
您可以尝试执行以下操作:
答案 2 :(得分:0)
如果没有更多信息,我不能告诉你太多,只是如果我是你,我会尝试在文本输入元素上使用更改事件而不是焦点和模糊。如果你描述了你想要实现的更多内容,我可能会更具体。