怎么做?
我试过了:
var key = event.which || event.keyCode || event.charCode;
if(key == 8) alert('backspace');
但这行不通...
如果我在keypress事件上执行相同的操作,那么它将起作用,但是我不想使用keypress,因为它会在我的输入字段中输出键入的字符。我需要能够控制
我的代码:
$('#content').bind('input', function(event){
var text = $(this).val(),
key = event.which || event.keyCode || event.charCode;
if(key == 8){
// here I want to ignore backspace and del
}
// here I'm doing my stuff
var new_text = 'bla bla'+text;
$(this).val(new_text);
});
除了我用val()添加的内容外,不应在输入中附加任何字符
实际上应该完全忽略用户的输入,只有按键操作对我很重要
最佳答案
使用.onkeydown
并使用return false;
取消删除。像这样:
var input = document.getElementById('myInput');
input.onkeydown = function() {
var key = event.keyCode || event.charCode;
if( key == 8 || key == 46 )
return false;
};
或使用jQuery,因为您在问题中添加了jQuery标签:
jQuery(function($) {
var input = $('#myInput');
input.on('keydown', function() {
var key = event.keyCode || event.charCode;
if( key == 8 || key == 46 )
return false;
});
});
关于javascript - 在 “input”事件上检测到退格键和del?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9906885/