删除表单字段中的所有文本后可以触发的jQuery事件处理程序



如果选择表单字段中的所有文本,然后使用退格键或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, keydownkeyup的事件顺序不同。您可以进行测试,看看哪个对您更有意义。我在这里使用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');
 }
}); 

相关内容

  • 没有找到相关文章

最新更新