我有一个带有模糊功能的文本区域:
$("#comment").blur(function() {
...something
});
blur()
当我单击下面的提交按钮时,我不希望这种情况发生。我该如何解决这个问题?
我有一个带有模糊功能的文本区域:
$("#comment").blur(function() {
...something
});
blur()
当我单击下面的提交按钮时,我不希望这种情况发生。我该如何解决这个问题?
正常提交是PAGE REFRESH
所以:当你的页面再次加载时,blur()
代码也会被调用
在您的提交中,将一个变量以表明它是一个表单提交的形式传回服务器(即一个有意义的标志)。当您重新渲染页面时,使用标志渲染它,说明它是一个表单提交,在 javascript 中。在你的模糊处理程序中寻找那个标志,清除它,然后返回 false。
像这样的东西应该工作:
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/
您是否尝试过查看当 onblur 发生时,我怎样才能找出哪个元素焦点*到*?-在这种情况下它应该会有所帮助,因此您可以根据焦点所在的位置确定是否触发“模糊”功能