jquery - 设置内容可编辑元素的最大长度

标签 jquery html contenteditable

我有这个代码

<div id="IIYBAGWNBC" contenteditable="true"></div>

这在 jquery 中

$("#IIYBAGWNBC").text(function(index, currentText) {
  return currentText.substr(0, 100);
});

如何防止用户在 contenteditable div 中输入超过 100 个字符

最佳答案

这很简单,在 keydown 上,计算元素字符串的长度并阻止用户尝试输入超过 100 个字符

$('div').on('keydown paste', function(event) { //Prevent on paste as well

  //Just for info, you can remove this line
  $('span').text('Total chars:' + $(this).text().length); 

  //You can add delete key event code as well over here for windows users.
  if($(this).text().length === 100 && event.keyCode != 8) { 
    event.preventDefault();
  }
});

Demo

解释:

contenteditable div 上的 keydownpaste 事件上,我们检查 lengthdiv 的 达到了 100,如果用户没有点击退格键,则阻止用户通过点击任意键或什至通过右键单击粘贴来输入更多字符。

关于jquery - 设置内容可编辑元素的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33551502/

相关文章:

javascript - 用 jQuery 替换 HTML 后如何将光标放在文本末尾?

javascript - 在 javascript 中模仿 jsonp

javascript - 如何在JQuery 中只获取无序列表菜单中的第一个列表元素?

html - 如何在 hr 行之间有一个按钮 - 然后优雅地折叠

javascript - 获取div中的内容到PHP变量

javascript - 根据给定的标准重新排列 DOM 元素

javascript - 刷新页面后使用变量

jquery - 获取父div id并应用于元素

javascript - 如何设置内联 SVG 元素的确切大小?

javascript - 使用 jQuery 将 HTML 插入到 iFrame 正文标记中