Keydown仅在按钮上触发w /“contenteditable”标记

时间:2013-08-20 06:21:19

标签: jquery contenteditable

我正在使用contenteditable="true"标记来修改某些代码中的内容。我可以使用该标记成功编辑任何元素中的内容,但是当我尝试使用jQuery检测keydown事件时会出现问题。

jsFiddle demo

请注意,段落元素中的“Hello World”是可编辑的。按钮文本“我是一个按钮”也可以在按钮元素内编辑。

当您键入段落元素时,对于每个按下的键,keypresses会递增。但是,当您输入按钮元素时,keypresses NOT 会增加。这是我的问题。显然,即使在段落元素中检测到keydown事件,也未在按钮元素内检测到clicks事件。

为了证明这不是JS编写方式的问题,单击段落或按钮元素将增加keydown计数器。

所以我的问题是,为什么在按钮元素中没有检测到{{1}}事件,我该怎么做才能检测到它?

1 个答案:

答案 0 :(得分:1)

这种解决方法怎么样?

JSFiddle http://jsfiddle.net/vA74w/

将按钮内容放在span contenteditable=true

<强> HTML

<button>&nbsp;<span contenteditable='true'>I'm a Button</span>&nbsp;</button>

&nbsp;不允许用户删除该按钮。

完成修改后,需要从按钮文字中修剪&nbsp;span个标记。