如何在使用jQuery或JavaScript粘贴时立即删除所有空格?

时间:2015-05-15 01:04:50

标签: javascript c# jquery

当用户将某些文字粘贴到某个字段时,我希望能够立即删除所有空格。

<input type="text" class="white-space-is-dead" value="dor  on" />

$('.white-space-is-dead').change(function() {   
    $(this).val($(this).val().replace(/\s/g,""));
});

http://jsfiddle.net/U3CRg/22/

这个代码来自另一个例子。但是在用户点击文本框之外的内容之前不会更新。我正在使用MVC和jQuery / JavaScript。

2 个答案:

答案 0 :(得分:3)

切换change的事件input,即使正在粘贴文字,也会在字段输入内容时触发。

$('.white-space-is-dead').on('input', function() {   
    $(this).val($(this).val().replace(/\s/g,""));
});

请查看jQuery Events,了解您有哪些选择。

修改:根据OP的评论以及我在this answer上找到的内容更新了答案。

答案 1 :(得分:1)

正则表达式没有做你想要的。这有效但在文本输入失去焦点之前不会触发。

&#13;
&#13;
$('.white-space-is-dead').change(function() {   
    $(this).val($(this).val().replace(/ /g,''));
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" class="white-space-is-dead" value="dor  on" />
&#13;
&#13;
&#13;