提交不应该使用jQuery模糊textarea?

时间:2011-03-30 20:40:33

标签: javascript jquery onblur

我有一个带有模糊功能的te​​xtarea:

$("#comment").blur(function() {
        ...something
    });

当我点击下面的提交按钮时,我不希望发生此blur()。我该如何解决这个问题?

4 个答案:

答案 0 :(得分:0)

正常提交是 PAGE REFRESH

因此:当您的网页再次加载时,blur()代码也会被调用

答案 1 :(得分:0)

在您的提交中,将一个变量传回服务器,其形式表明它是一个表单提交(即一个有意义的标志)。当您重新呈现页面时,使用标记呈现它,在javascript中声明它是表单提交。在模糊处理程序中查找该标志,清除它并返回false。

答案 2 :(得分:0)

这样的事情应该有效:

var _commentBlurTimer = 0;
$("#comment").blur(function() {
   _commentBlurTimer = window.setTimeout(function() {
      //...something
   }, 500);
});

$("input[type=submit]").click(function() {
   if (_commentBlurTimer)
      window.clearTimeout(_commentBlurTimer);
});

测试用例:http://jsfiddle.net/yahavbr/a9xZW/

答案 3 :(得分:0)

您是否尝试过查看When onblur occurs, how can I find out which element focus went *to*? - 在这种情况下应该会有所帮助,这样您就可以根据焦点去哪里来确定是否触发“模糊”功能