可能重复:
How do you handle oncut, oncopy, and onpaste in jQuery?
$(document).ready(function() {
$('#Description').bind('keyup', function() {
var characterLimit = 350;
var charactersUsed = $(this).val().length;
if (charactersUsed > characterLimit) {
charactersUsed = characterLimit;
$(this).val($(this).val().substr(0, characterLimit));
$(this).scrollTop($(this)[0].scrollHeight);
}
});
});
这是我的代码。我试图使用鼠标右键单击粘贴在描述框中粘贴一些内容,但它不由代码处理。我不知道哪里出错,任何人都可以帮我解决这个问题。
提前致谢
答案 0 :(得分:0)
您应该使用change
或input
个事件而不是keyup
。如果您不介意性能损失,您可以这样做:
$('#Description').bind('keyup change input', function () { .. });
答案 1 :(得分:0)
您需要使用mouseup
事件,而不是keyup
事件。 keyup
用于键盘操作。
我不确定该页面是否会从上下文菜单中收到mouseup
事件。 (右键单击 - >“粘贴”可让您单击非DOM元素上的“粘贴”按钮。
或者Miszy建议的事件将是更好的选择。
答案 2 :(得分:0)
您可以使用onpaste事件来处理: -
$("#Description").bind("paste", function(){} );
点击此链接: - How do you handle oncut, oncopy, and onpaste in jQuery?
答案 3 :(得分:0)
您可以使用默认的jquery keyup事件,如下所示:
var characterLimit = 360;
$("#Description").keyup(function(){
if($("#Description").val().length > characterLimit){
$("#Description").val($("#Description").val().substring(0,characterLimit));
}
});
或者你可以使用keydown事件作为
var characterLimit = 360;
$("#Description").keydown(function(){
if($("#Description").val().length > characterLimit){
return false;
}
});