【问题标题】:How could I solve this onclick-onblur problem?我该如何解决这个 onclick-onblur 问题?
【发布时间】:2011-08-24 14:30:13
【问题描述】:

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

我应该怎么做才能让它一键运行?

【问题讨论】:

  • 你有代码要发吗?
  • 嗯,我以为这个问题不用贴代码就可以解决,但是如果你需要那段代码就通知我。
  • 如果你能在jsfiddle.com 上发个小提琴肯定会很有帮助,因为一个例子通常会说一千多个单词。

标签: javascript click onclick textarea onblur


【解决方案1】:

您可以在缩小文本区域的 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);

}

【讨论】:

    【解决方案2】:
    textArea.addEventListener('blur', function(e) {
        e.preventDefault();
        return false;
    }, true);
    

    这将为blur 事件添加一个侦听器,这将阻止触发任何其他事件,包括导致textarea 重新调整大小的任何事件。不过,首先添加 blur 钩子会比以这种方式捕获它更容易。

    【讨论】:

      猜你喜欢
      • 2020-03-25
      • 2020-02-14
      • 2021-10-23
      • 1970-01-01
      • 2021-07-31
      • 2020-12-28
      相关资源
      最近更新 更多