大家好,当我单击上面演示中给出的div层时,我想绑定keypress事件处理程序。该功能是使用delete键删除选定的图层。
但是当我按下delete键时,按键处理程序不会触发。请提个建议。
发布于 2012-06-13 06:47:58
删除“()
”:
$this.on("keypress", keyAction);
您添加了undefined
作为处理程序:在本例中,$this.on("keypress", keyAction())
等于$this.on("keypress", undefined)
,因为keyAction
函数不返回任何内容。
此外,您的div
必须是可聚焦的,以便接收键盘事件。因此,您需要在其上添加tabindex
:
<div class="dragClass" tabindex="0">
然后在selectAction
中,将焦点放在div上以接收按键事件:
$this.focus();
这是
有关在静态元素(如div
)上添加keyboard event
的更多信息,请查看here
发布于 2012-06-13 06:50:06
Use this code it execute for delete key
$("#ParentDIV").keyDown(function (e) {
if (e.keyCode == 46) {
// Do it
}
});
发布于 2012-06-13 07:00:40
为了让元素接收按键事件,它需要焦点。一种方法是添加一个tabindex。如果你点击你的元素,然后点击下面小提琴中的键盘按钮,你就会得到你的事件。我剥离了小提琴一点,并删除了拖拽,这是干扰焦点。
https://stackoverflow.com/questions/11009513
复制