keydown不能捕获由按住复制操作(Ctrl-V)更改的文本
keydown doesn't catch text-changed by hold-up copy action (Ctrl-V)
我有一个文本输入。我想把它的字符数限制在300。我在上面捕捉keydown事件。但是如果用户将一些文本复制到剪贴板中,然后通过按住Ctrl-V(请注意Ctrl-V是按住的,而不是释放的)将其粘贴到文本输入中,则文本被更改,但我不能应用限制,直到Ctrl-V被释放尽管我们已经尝试了许多方法:onkeydown, onkeypress, onkeyup, onchange。有人提出解决方案吗?谢谢大家,祝大家工作愉快。
你可以试试这个(适当地改变你的选择器):
//Restrict text while pasting
$("#myinput").bind('paste', function () {
var input = $(this);
var maxLength = input.attr("maxLength");
setTimeout(function () {
input.val(input.val().substring(0, maxLength));
}, 100);
});
//Restrict text while typing
$("#myinput").live("keypress", function () {
var maxLength = $(this).attr("maxLength");
return $(this).val().length <= maxLength - 1;
});
相关文章:
- 如何在Firefox中获取剪贴板文本和html当用户按下“;Ctrl+V”;
- 如何使文本、数字和日期html输入字段以一致的方式支持Ctrl+Z(撤消)
- JS事件CTRL+鼠标悬停+隐藏文本
- 通过检测 JavaScript 中的 CTRL+A 键来聚焦文本框
- 如何检查某个值是否为负数,并限制将其粘贴到过去的 CTRL+V 文本框中或右键单击过去
- 允许使用 javascript 在文本框中使用 Ctrl+C、Ctrl+X 和 Ctrl+V 组合
- jquery- 使用文本区域操作 Ctrl-z 和 Ctrl-Y
- 如何在用户按下“;Cmd+c”;或“;ctrl+c”;在Angular中的选定文本上
- 只允许数字和 ctrl+a 、ctrl+v 、ctrl+c 到文本框
- 文本区域控制-自定义行为输入/ctrl+enter
- 隐藏文本中的Ctrl+F:显示文本
- jQuery触发器键代码Ctrl+Shift+z&在wysiwyg文本区域中按Ctrl+z
- 如何实现ctrl点击行为,以复制文本从嵌入pdf在web应用程序
- 禁用Chrome's文本输入undo/redo (CTRL+Z / CTRL+Y)
- keydown不能捕获由按住复制操作(Ctrl-V)更改的文本
- 当用户在ext .form.field. htmlitor中键入文本时,捕获Ctrl+Enter
- 在GitHub的新问题页面的标题文本框中按Ctrl+Enter或Enter创建确认弹出框的用户脚本
- 为什么IE11在onkeyup中设置文本框值时按Ctrl+Z会复制内容
- Ctrl+Shift+v Chrome事件侦听器(获取复制文本)
- 删除Ctrl V上文本框中的额外字符