嗨,伙计们,当我单击上面演示中给出的 div 层时,我想绑定 keypress 事件处理程序。该功能是使用删除键删除选定的图层。
但是当我按下删除键时,按键处理程序不会触发。请建议。
嗨,伙计们,当我单击上面演示中给出的 div 层时,我想绑定 keypress 事件处理程序。该功能是使用删除键删除选定的图层。
但是当我按下删除键时,按键处理程序不会触发。请建议。
删除“ ()
”:
$this.on("keypress", keyAction);
您正在添加undefined
as handler:在您的情况下$this.on("keypress", keyAction())
等于$this.on("keypress", undefined)
,因为keyAction
函数不返回任何内容。
此外,您div
必须是可聚焦的,以便接收键盘事件。出于这个原因,您需要添加tabindex
它:
<div class="dragClass" tabindex="0">
然后selectAction
将焦点放在您的 div 以接收按键事件:
$this.focus();
这是演示
有关在静态元素上添加 s 的更多信息,keyboard event
例如div
,请查看此处:
Use this code it execute for delete key
$("#ParentDIV").keyDown(function (e) {
if (e.keyCode == 46) {
// Do it
}
});
为了让元素接收按键事件,它需要焦点。一种方法是添加一个tabindex。如果您单击您的元素,然后单击下面小提琴中的键盘按钮,您将获得您的事件。我稍微剥掉了小提琴并移除了干扰焦点的可拖动对象。