jquery - 用大值限制 div 中的字符数(防止粘贴)

标签 jquery css

我不知道如何设置 div 中的最大字符数也适用于粘贴操作。

我写的这个有效,但如果我粘贴一些东西,如果字符数达到限制,它也会显示。

<div id="faketxt" contentEditable=true data-text="Write Here"  onkeypress="return (this.innerText.length <= 19200)"></div>

如何防止粘贴操作?

同样重要的是,字符的限制必须是 19200。一些带有 javascript 的代码不适用于大值。

最佳答案

由于事件是“onkeypress”,复制粘贴选项是一种绕过。幸运的是 - 有一个 paste 事件,所以只需将一个函数绑定(bind)到该事件,根据您的要求检查粘贴内容的长度是否合法。 像这样:

$("#faketxt").bind("paste", function(e){
    var pastedData = e.originalEvent.clipboardData.getData('text');
    if(pastedData.length > 19200) return false;
    if(pastedData.length + $(this).text().length > 19200) return false;
    return true;
} );

JSFIDDLE

关于jquery - 用大值限制 div 中的字符数(防止粘贴),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42004403/

相关文章:

javascript - 当元素位于变量内部时如何修改元素的一部分

html - 我需要有关在导航栏(HTML 和 CSS)中定位登录表单的帮助

javascript - 如何使tinyMCE编辑器在首次初始化后保留在我的jQgrid textarea formit表单中?

javascript - 带有 css 的 jade 中的按钮不起作用

css - Shiny Flexdashboard R 中的 Bootswatch 主题

html - 在 QUirks 模式下如何解决以下问题?

jquery - 将图片插入 2 列文本

jquery 在输入更改时扩展 setTimeout 函数

jquery - 我怎样才能通过jquery延迟自动播放音频/html5

javascript - 使用固定元素向下滚动