Jquery UI - 动态绑定点击的div上的按键事件

时间:2012-06-13 06:45:20

标签: javascript jquery jquery-ui keyboard-events jquery-resizable

jsFiddle demo link

嗨,大家好, 当我单击上面演示中给出的div层时,我想绑定keypress事件处理程序。该功能是使用删除键删除所选图层。

但是当我点击删除键时,按键处理程序不会触发。请建议。

3 个答案:

答案 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。如果你点击你的元素然后点击下面的小提琴中的键盘按钮,你就会得到你的活动。我稍微拆掉了小提琴,取下了干扰焦点的拖拉机。

http://jsfiddle.net/e2yfC/27/