嗨,大家好, 当我单击上面演示中给出的div层时,我想绑定keypress事件处理程序。该功能是使用删除键删除所选图层。
但是当我点击删除键时,按键处理程序不会触发。请建议。
答案 0 :(得分:4)
删除“()
”:
$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();
这是DEMO
有关在keyboard event
等静态元素上添加div
的详细信息,请查看here:
答案 1 :(得分:2)
Use this code it execute for delete key
$("#ParentDIV").keyDown(function (e) {
if (e.keyCode == 46) {
// Do it
}
});
答案 2 :(得分:1)
为了让元素接收按键事件,它需要关注。一种方法是添加tabindex。如果你点击你的元素然后点击下面的小提琴中的键盘按钮,你就会得到你的活动。我稍微拆掉了小提琴,取下了干扰焦点的拖拉机。