要隐藏div,请单击我使用的页面的其余部分
$('#display').click(function(e){
e.stopPropagation();
});
$(document).click(function(){
$('#display').slideUp();
});
现在我想让函数document.click只在用户没有在id为“mse”的文本框中键入任何文本时才能工作。
<input type="text" id="mse" name="search">
我试过这样:
$(document).click(function(){
if($( "#mse" ).keyup()){
//do nothing
}else{
$('#display').slideUp();
}
});
但它不起作用。
帮我解决这个问题。
我的总代码是:
$(document).ready(function(){
$("#mse").keyup(function()
{
var searchbox = $(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox=='')
{}
else
{
$.ajax({
type: "POST",
url: "search.jsp",
data: dataString,
cache: false,
success: function(html)
{
$("#smartscreen").html(html).show();
}
});
}return false;
});
$('#mse').focus(function(){
$('#display' ).css( "display", "block" );
});
$('#display').click(function(e){
e.stopPropagation();
});
});
$(document).click(function(e){
$('#display').slideUp();
});
答案 0 :(得分:0)
您可能想要打开和关闭文档的点击事件。以下是其中的成分:
.on() with namespacing of the event
然后,根据您的需要,执行以下操作:当“mse”元素聚焦时,关闭文档的单击事件。当“mse”元素变得模糊时,重新打开文档的单击事件。 Example in this JS Fiddle
来自JS Fiddle的相关代码:$('#mse').focus(function(){
$(document).off('click.slider');
$('#display').css('display', 'block');
});
$('#mse').blur(function(){
$(document).on('click.slider', function(e){
$('#display').slideUp();
});
});