我有一张表格。在其中我有一个textarea,当onclick时会扩展。 但有一点问题: 当用户尝试提交表单(单击提交按钮)时,textarea会跳回到正常大小。这是因为它使用了onblur函数。我想消除这种尴尬,因为用户必须单击两次提交按钮才能提交表单。
如果只需点击一下,我该怎么办?
答案 0 :(得分:4)
您可以在onblur处理程序中设置缩短文本区域的短暂超时:
document.getElementById("textareaID").onblur = function () {
var target = this;
setTimeout( function () {
//Code to shrink the textarea, use "target" instead of "this" for scoping reasons.
}, 250);
}
答案 1 :(得分:3)
textArea.addEventListener('blur', function(e) {
e.preventDefault();
return false;
}, true);
这将为blur
事件添加一个监听器,该监听器将阻止其他任何事件被触发,包括导致textarea
重新调整大小的任何事件。不过,不首先添加blur
挂钩会更容易,而不是以这种方式捕捉它。