【发布时间】:2018-07-06 01:34:42
【问题描述】:
我有以下代码可以删除输入文本。
$(document).on('click', "button[id='del_btn']", function(event) {
$("input[id='lvl4_text1']").select()
$("input[id='lvl4_text1']").focus()
//trigger backspace keycode 8, keydown and keyup envent to input
var e = $.Event('keydown', {
keyCode: 8,
which: 8
})
$("input[id='lvl4_text1']").trigger(e)
e = $.Event('keyup', {
keyCode: 8,
which: 8
})
$("input[id='lvl4_text1']").trigger(e)
});
//I can see keyup and keydown event was triggered successfully.
$(document).on('keyup', "input[id='lvl4_text1']", function(event) {
console.log("level 4 text keyup" + event.which)
});
$(document).on('keydown', "input[id='lvl4_text1']", function(event) {
console.log("level 4 text down" + event.which)
});
它相当简单明了,但是输入中的文本没有被删除。 我正在使用 chrome55 和 jquery1.8。
我不想要删除输入文本的解决方法,只是想知道为什么退格键盘 evnet 已经被触发,但输入文本没有被删除。 我也尝试了触发 delete key(keycode 46) 事件,没有任何改变。我也触发了'a'(keycode 65)输入,但是输入的文字无法替换。
我是 js/jquery 的新手,谁能帮忙?
【问题讨论】:
标签: javascript jquery keyevent eventtrigger jquery-events