【发布时间】:2012-03-28 11:49:40
【问题描述】:
怎么做?
我试过了:
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() 添加的内容之外,我的输入中不应附加任何字符 实际上用户的输入应该被完全忽略,只有按键动作对我来说很重要
【问题讨论】:
-
你实际上不需要做 or'ing - 事件。这很好,jQuery 为你规范化事件对象。见api.jquery.com/category/events/event-object
-
您应该将事件名称作为
.bind的第一个参数,而不是选择器。应该是$('content').bind('keypress', ...
标签: javascript jquery