我怎么能解决这个onclick-onblur问题?

时间:2011-08-24 14:30:13

标签: javascript click onclick textarea onblur

我有一张表格。在其中我有一个textarea,当onclick时会扩展。 但有一点问题: 当用户尝试提交表单(单击提交按钮)时,textarea会跳回到正常大小。这是因为它使用了onblur函数。我想消除这种尴尬,因为用户必须单击两次提交按钮才能提交表单。

如果只需点击一下,我该怎么办?

2 个答案:

答案 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挂钩会更容易,而不是以这种方式捕捉它。