Html 如何在粘贴到输入元素时替换换行符/回车符(如google)

Html 如何在粘贴到输入元素时替换换行符/回车符(如google),html,replace,paste,Html,Replace,Paste,我希望在对输入(文本)元素执行粘贴操作时,换行符替换为空格 例如,如果将以下文本粘贴到google search中: foo bar 它粘贴为: foo bar 默认情况下,文本输入元素将在第一个换行符处停止,如下所示: foo 我能够使用以下代码找到一个包含textarea元素的解决方案: $("#textarea_element").bind('paste', function(e) { var el = $(this); setTimeout(function() {

我希望在对输入(文本)元素执行粘贴操作时,换行符替换为空格

例如,如果将以下文本粘贴到google search中:

foo
bar
它粘贴为:

foo bar
默认情况下,文本输入元素将在第一个换行符处停止,如下所示:

foo
我能够使用以下代码找到一个包含textarea元素的解决方案:

$("#textarea_element").bind('paste', function(e) {
    var el = $(this);
    setTimeout(function() {
        $(el).val($(el).val().replace(/(\r\n|\n|\r)/gm," "));
    }, 100);
});

但我希望在输入元素上具有此功能。有什么想法吗?

浏览器内置了这个功能,因为在
中不能有换行符。你观察到另一种行为了吗?你使用什么浏览器?我认为soulution是通过在google中粘贴换行符时清理剪贴板数据@duri来实现的。它们被空格取代:只有firefox和chrome,explorer不是这种情况。这实际上是所有文本输入元素的浏览器行为:firefox和chrome为空格添加换行符,浏览器在第一行提要处停止。正如我最初认为的那样,这与谷歌无关。