【发布时间】:2014-10-14 05:50:01
【问题描述】:
我想将 keypress 和 focusout 事件处理程序附加到 contenteditable div 内的段落。
以下代码似乎不起作用:
<div contenteditable="true">
<p id="p1">Test</p>
<p id="p2">Test</p>
<p id="p3">Test</p>
</div>
$('#p1').bind('keypress', function(e) {
alert('keypress');
});
$('#p1').focusout(function(e) {
alert('focusout');
});
【问题讨论】:
-
是的,Regent 打败了我!这是更新的小提琴jsfiddle.net/2r8qy7bL
-
我想将事件附加到段落而不是 div。会有多个段落,我想用 id p1 监控段落的变化
-
@mundella 你可以想要它,但由于
contenteditable="true",你将无法做到这一点。请改用多个<div id="pX" contenteditable="true">Test</div>。 -
@Regent 下次别急着放解决方案。 “你将无法做到这一点”这些话不属于 stackoverflow :)
-
@mundella 再次重申:您不能使 keypress 和 focusout 事件处理程序对 contenteditable div 中的段落 起作用。 Roko C. Buljan 建议的范围解决方案与事件处理程序一起使用,绑定到
<div>(基本上 contenteditable 将响应事件),而不是<p>。这完全是关于你的问题的表述。
标签: javascript jquery html contenteditable