如果单击jQuery?
用下面的代码。。。是否可以说,如果单击了li,则执行此操作,如果没有(用户单击其他位置),则执行此操作?只有当用户单击列表中的某个内容时,该代码才会使div消失。我需要它消失,如果他们点击其他任何地方以及??谢谢如果单击jQuery?,jquery,Jquery,用下面的代码。。。是否可以说,如果单击了li,则执行此操作,如果没有(用户单击其他位置),则执行此操作?只有当用户单击列表中的某个内容时,该代码才会使div消失。我需要它消失,如果他们点击其他任何地方以及??谢谢 .bind('blur', function() { $('#search_suggestions_list li').click(function() { var selectedString = $(this).text(); $('#search
.bind('blur', function() {
$('#search_suggestions_list li').click(function() {
var selectedString = $(this).text();
$('#search-box').val(selectedString);
setTimeout("$('#search_suggestions').fadeOut('fast');", 200);
})
})
请确保返回false,否则还会调用文档单击事件。处理文档上的单击事件,然后处理
li上的单击事件。在li
的单击事件中,使用该功能防止触发文档(父级)单击事件
$('#search_suggestions_list li').click(function() {
var selectedString = $(this).text();
$('#search-box').val(selectedString);
setTimeout("$('#search_suggestions').fadeOut('fast');", 200);
})
$('#search-box').blur(function(){
// do something else
});
$(document).click(function() {
// Clicked outside the LI
});
$('#search_suggestions_list li').click(function(e) {
var selectedString = $(this).text();
$('#search-box').val(selectedString);
setTimeout("$('#search_suggestions').fadeOut('fast');", 200);
e.stopPropagation(); // Stops document.click from firing
})
$(document).click()将始终在任何clickBy返回false时触发,您将停止冒泡,因此document.click函数将不会运行。我可能误解了这个问题,但听起来像是他在问什么。+1如果您添加$(“#搜索建议列表”)。隐藏()
或文档单击事件中的类似内容,和/或清除显示搜索建议的超时。实际上,您需要stopPropagation
而不是返回false。@Josh:returnfalse
与调用preventDefault
和stopPropagation
$(document).click(function() {
// Clicked outside the LI
});
$('#search_suggestions_list li').click(function(e) {
var selectedString = $(this).text();
$('#search-box').val(selectedString);
setTimeout("$('#search_suggestions').fadeOut('fast');", 200);
e.stopPropagation(); // Stops document.click from firing
})