当用户将某些文字粘贴到某个字段时,我希望能够立即删除所有空格。
<input type="text" class="white-space-is-dead" value="dor on" />
$('.white-space-is-dead').change(function() {
$(this).val($(this).val().replace(/\s/g,""));
});
这个代码来自另一个例子。但是在用户点击文本框之外的内容之前不会更新。我正在使用MVC和jQuery / JavaScript。
答案 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)
正则表达式没有做你想要的。这有效但在文本输入失去焦点之前不会触发。
$('.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;