如果选择表单字段中的所有文本,然后使用退格键或Delete键,我希望能够运行一些额外的代码。我试过使用改变,模糊,按键,按键。
不工作的例子:
$('input[id^=txtDate_]').on('keydown', function() {
enableSaveChanges();
});
有一种方法- http://jsfiddle.net/jayblanchard/6Uq85/
$('textarea[name="foo"]').keyup(function(e) {
var currentText = $(this).val();
if( 0 == currentText.length && (e.keyCode = 46 || e.keyCode == 8)) {
console.log('empty');
}
});
我应该补充说,我是keyup()
的粉丝,因为keypress
, keydown
和keyup
的事件顺序不同。您可以进行测试,看看哪个对您更有意义。我在这里使用keyup
的原因是,当您按下该键时,文本区(或输入)实际上不是空的。
使用'delete'和'backspace'键代码
delete = 46
backspace = 8
的例子:HTML:
<input type="text" id="input">
jQuery: jQuery('#input').keyup(function(e) {
var str = jQuery('#input').val();
if( (e.keyCode == 46 || e.keyCode == 8) && str == "" ) {
alert("Hey");
}
});
编辑:检查空输入字段
<input type="txt" id="txt"/>
$('#test').keyup(function(e){
if($('#test').val() == '' && e.keyCode == 46 || e.keyCode == 8)){
console.log('Input is emptied');
}
});