Pal*_*ini 9 javascript jquery events input
目前我正在为项目开发一个功能,而event.keyCode出现对"on input"触发器不起作用.我正在使用Google Chrome 31和jQuery 1.10.2.
这是我在我的方法中尝试的内容:
input.on('input', function(event){
console.log("event.charCode: " + event.charCode);
console.log("event.keyCode: " + event.keyCode);
console.log("event.which: " + event.which);
console.log("window.event ? event.keyCode : event.which: " + window.event ? event.keyCode : event.which);
});
Run Code Online (Sandbox Code Playgroud)

我得到undefined了所有这些方法.我做错了什么或这是一个jQuery/Javascript问题?在这里你可以找到小提琴.
当用户在其中粘贴内容或以任何方式更改输入内容时,我希望我的输入触发.
ps:我的方法按预期工作,唯一不起作用的是......这个.
小智 7
事件输入没有键码,但您可以通过这种方式使用 inputType 属性。
console.log(event.inputType);
event.inputType == "deleteContentBackward" // Backspace
event.inputType == "deleteContentForward" // Delete
event.inputType == "insertText" // When insert character
Run Code Online (Sandbox Code Playgroud)
小智 5
使用可以使用keydown事件
input.on('keydown ', function(event){
console.log("Code: " + event.which);
});
Run Code Online (Sandbox Code Playgroud)
我认为这是因为您的事件不正确,您正在为输入匹配“输入”事件。
这可能就是您想要的(注意paste事件):
jQuery(function () {
jQuery("#post-input").on('keyup', function(event){
if(!(event.ctrlKey || $(this).data('skipkeyup'))) {
console.log('keyup', event);
} else {
$(this).data('skipkeyup', true)
}
}).on('paste', function (event) {
console.log('paste event', event);
}).on('keydown', function(){
$(this).data('skipkeyup', false)
})
Run Code Online (Sandbox Code Playgroud)
});
| 归档时间: |
|
| 查看次数: |
11012 次 |
| 最近记录: |