Javascript 消失的潜水艇

Javascript 消失的潜水艇,javascript,jquery,html,Javascript,Jquery,Html,Html 现在,从代码中可以清楚地看到,我希望在输入模糊时删除div。但是,如果有人单击按钮,我不希望删除div。我不知道该怎么做。有人能解决这个问题吗?使用此代码而不是您的代码 $(function(){ $("input").blur(function() { $("#divf").remove(); }); }); 使用此代码而不是您的代码 $(function(){ $("input").blur(function() {

Html


现在,从代码中可以清楚地看到,我希望在输入模糊时删除div。但是,如果有人单击按钮,我不希望删除div。我不知道该怎么做。有人能解决这个问题吗?

使用此代码而不是您的代码

$(function(){
    $("input").blur(function()
    {
       $("#divf").remove(); 
    });
});

使用此代码而不是您的代码

$(function(){
    $("input").blur(function()
    {
       $("#divf").remove(); 
    });
});

如果您只想在id为match1的文本字段上输入,那么只有当该字段为蓝色时,才会删除div

$(function(){
    $("#match1").blur(function()
    {
       $("#divf").remove(); 
    });
});

如果您想只输入文本,则每个文本框蓝色部分的div将被删除

$(function(){

   var isButtonClicked = false;
   $('button').one('click', function(){
      isButtonClicked = true;
   });

    $("#match1").blur(function()
    {
       if(!isButtonClicked)
            $("#divf").remove(); 
    });
});

如果您只想在id为match1的文本字段上输入,那么只有当该字段为蓝色时,才会删除div

$(function(){
    $("#match1").blur(function()
    {
       $("#divf").remove(); 
    });
});

如果您想只输入文本,则每个文本框蓝色部分的div将被删除

$(function(){

   var isButtonClicked = false;
   $('button').one('click', function(){
      isButtonClicked = true;
   });

    $("#match1").blur(function()
    {
       if(!isButtonClicked)
            $("#divf").remove(); 
    });
});

您可以在
.blur()
中设置超时,然后在单击按钮时将其清除

    $(function(){
       var isButtonClicked = false;
       $('button').one('click', function(){
      isButtonClicked = true;
    });

    $("input[type=text]").blur(function()
        {
           if(!isButtonClicked) 
               $("#divf").remove(); 
        });
    });

当焦点从输入直接转到按钮时(单击),计时器将被清除,div不会被删除。

您可以在
.blur()
中设置一个超时,然后在单击按钮时将其清除

    $(function(){
       var isButtonClicked = false;
       $('button').one('click', function(){
      isButtonClicked = true;
    });

    $("input[type=text]").blur(function()
        {
           if(!isButtonClicked) 
               $("#divf").remove(); 
        });
    });

当焦点从输入直接转到按钮(点击)时,计时器被清除,div没有被删除。

我编辑了@Adil answer并得到了我想要的

var to = false;

$('input').blur(function() {
    // start the timer
    to = setTimeout('removeDiv', 200);
});

$('button').click(function() {
    // if the timer is still running, clear it
    to && clearTimeout(to);
});

function removeDiv()
{
    $("#divf").remove();
    // reset timer
    to = false;
}

我编辑了@Adil answer,得到了我想要的

var to = false;

$('input').blur(function() {
    // start the timer
    to = setTimeout('removeDiv', 200);
});

$('button').click(function() {
    // if the timer is still running, clear it
    to && clearTimeout(to);
});

function removeDiv()
{
    $("#divf").remove();
    // reset timer
    to = false;
}

我认为,这看起来很有希望。我会在按钮上添加onfocus处理程序,这样键盘导航就可以工作了。我也会在超时的情况下处理它!我认为,这看起来很有希望。我会在按钮上添加onfocus处理程序,这样键盘导航就可以工作了。我也会在超时的情况下处理它!模糊就是模糊,不管你是因为完成了输入而离开输入,还是让它去点击按钮。。。你想干什么?也许你应该考虑其他方法。如果是验证错误处理,则可以使用更好的机制。模糊就是模糊,无论您是因为完成键入而保留输入,还是单击按钮而保留输入。。。你想干什么?也许你应该考虑其他方法。如果是验证错误处理,你可以使用更好的机制。哦,他删除了答案哦,他删除了答案