我该如何解决这个 onclick-onblur 问题?

发布于 2024-12-01 02:34:01 字数 147 浏览 1 评论 0原文

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

我应该怎么做才能使其一键运行?

I have a form. In it I have a textarea which expands when onclick.
But there is a little problem:
When the user tries to submit the form (click the submit button), the textarea jumps back to its normal size. This is because it uses the onblur function. I want to eliminate this awkwardness, because the user has to click the submit button twice to submit the form.

What should I do to make it work with one click?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

失去的东西太少 2024-12-08 02:34:01

您可以在 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);

}

You can set a short timeout in the onblur handler that shrinks the text area:

document.getElementById("textareaID").onblur = function () {
    var target = this;
    setTimeout( function () {
        //Code to shrink the textarea, use "target" instead of "this" for scoping reasons.
    }, 250);

}
独行侠 2024-12-08 02:34:01
textArea.addEventListener('blur', function(e) {
    e.preventDefault();
    return false;
}, true);

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

textArea.addEventListener('blur', function(e) {
    e.preventDefault();
    return false;
}, true);

This will add a listener to the blur event which will prevent anything else from firing, including whatever it is that's causing the textarea to re-resize. It'd be easier for you to not add the blur hook in the first place, rather than catching it this way, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文