【发布时间】:2018-04-19 11:01:26
【问题描述】:
所以我想在用户超过 contentEditable p 标签中的字符限制时阻止键盘输入:
<p autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" contenteditable="true" placeholder="Enter text..." class="entry__text"></p>
$('.entry__text').on('keydown', function(e) {
if (e.target.innerHTML.length > 10) {
e.preventDefault();
// return false;
}
console.log(e.target.innerHTML);
});
要么 e.preventDefault() 要么返回 false;不起作用。满足条件,但键仍会写入 p 标签。除了移动 Android 上的最新 Chrome 之外,它确实适用于其他所有设备。
我在稍旧的版本(Chrome 40.0.2357.93,然后是 51.xx)上进行了测试,但它确实阻止了输入。
有什么建议吗?
【问题讨论】:
-
我认为this 可能会帮助您解决问题。
-
您的解决方案将光标放在字符串的开头,达到字符限制后。这很令人困惑。有什么办法可以防止光标移动到开头? @androidOnHigh
标签: javascript android jquery google-chrome mobile