我有一个带有“编辑”选项的消息框,当用户编辑消息时,我将按键的限制设置为300个字符,但是当我复制并粘贴该限制时,Jscript限制代码将不起作用。
有人可以看到下面的代码在哪里出问题了吗?拜托了,谢谢。
var ebm=document.getElementById('editSeller'+varmessageid+'');
var messbox=$(ebm).text();
var messlength = messbox.length;
var amount=300;
var leftlength=amount-messlength;
//delete & backspace keys
document.addEventListener('keyup', function(event) {
const key = event.key;
if (key === "Backspace" || key === "Delete") {
var messbox=$(ebm).text();
var messlength = messbox.length;
var amount=300;
var leftlength=amount-messlength;
if (leftlength <1 ) {leftlength=0
$(ebm).css('border', '1px dashed red');
event.preventDefault();
}
else {
$(ebm).css('border', '1px dashed #07f310');
}
$('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);
}
});
//ascii keys
$(ebm).on('keypress', function(e){
var messbox=$(ebm).text();
var messlength = messbox.length;
var amount=299;
var leftlength=amount-messlength;
if (leftlength <1 ) {leftlength=0
$(ebm).css('border', '1px dashed red');
e.preventDefault();
}
else {
$(ebm).css('border', '1px dashed #07f310');
}
$('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);
});
答案 0 :(得分:0)
使用.onpaste添加了以下另一个功能 到目前为止看起来似乎还不错...
还需要检查浏览器的兼容性。
var ebm=document.getElementById('editSeller'+varmessageid+'');
ebm.onpaste = function(event){
var messbox=$(ebm).text();
var messlength = messbox.length;
var amount=300;
var leftlength=amount-messlength;
if (leftlength <1 ) {leftlength=0
$(ebm).css('border', '1px dashed red');
event.preventDefault();
}
else {
$(ebm).css('border', '1px dashed #07f310');
}
$('#CSeller'+varmessageid+'').text('Characters Left: '+leftlength);
};