$(function(){
$("input.custom").hide();
$("input.custom").wrap("<div class='customInput'></div>");
$(".customInput").html("Type");
$(document).on("keyup", ".customInput", function(event){
alert(event.keyCode);
});
});
HTML
...
<body>
<input type="text" class="custom" />
</body>
...
我有一个像这样的代码,如果在.customInput聚焦时按下键盘按钮,它应该给出键码的警告..但是它不起作用
答案 0 :(得分:2)
因为您没有类customInput
的输入
这样做:
$(document).on("keyup", ".custom", function(event){
alert(event.keyCode);
});
或者,如果要对事件进行绑定,请执行div.customInput
元素:
// Add tabIndex to div - this makes the div selectable and enables keyboard events on it
$("input.custom").wrap("<div class='customInput' tabIndex='1'></div>");
$('.customInput').keyup(function(event){
alert(event.keyCode);
});
这是第二个选项的小提琴 - http://jsfiddle.net/WQL4X/4/
通常div
不会捕获关键事件,但如果它是可选择的,它就会捕获。要使其可选,您必须提供tabIndex
属性。就是这样。