设置最大长度
我有这个代码设置最大长度
<div id="IIYBAGWNBC" contenteditable="true"></div>
这jQuery中
$("#IIYBAGWNBC").text(function(index, currentText) {
return currentText.substr(0, 100);
});
如何防止用户在contenteditable
div
这很简单,在,计算元素的字符串的长度,并防止用户,如果他试图喂养超过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();
}
});
说明:
在或在contenteditable
div
我们检查div
的length
达到100
,如果用户不点击退格键不是阻止用户养活paste
事件通过点击任意键甚至粘贴右键单击更多字符。
您的代码用于限制字符,但一旦达到限制,您将无法删除任何字符。 – DinoMyte
@DinoMyte已编辑我的代码 –
问题在于您无法使用箭头键,键盘快捷键进行复制和粘贴 – user1933131
我做了这样的事情通过使用上述答案概括的代码,这样就可以设置最大长度为任何CONTENTEDITABLE格
$("div[contenteditable='true'][maxlength]").on('keydown paste', function (event) {
var cntMaxLength = parseInt($(this).attr('maxlength'));
if ($(this).text().length === cntMaxLength && event.keyCode != 8) {
event.preventDefault();
}
});
HTML将作为bewlow
<div id="IIYBAGWNBC" contenteditable="true" maxlength="500"></div>
这种方式,你可以提到maxlenght任何知足div元素。 希望这是有帮助的。
你想限制字符长度为100还是你想要前100个字符? – DinoMyte
@DinoMyte我想要的最大长度为100 –