【发布时间】:2013-11-06 23:17:29
【问题描述】:
我有这样的结构:
<ul id="container">
<li>
<div tabindex="1" class="selectThis">
<div>
<div>
<span class="textToEdit" contenteditable="true"></span>
</div>
</div>
</div>
</li>
<ul>
将事件绑定到内容可编辑范围的工作原理:
$("#container").on("keydown", ".textToEdit", function (e) {
alert("yes");
});
但是 div 本身没有反应:
$("#container").on("keydown", ".selectThis", function () {
alert("no");
});
使用.on,因为除了容器之外,整个东西都是动态生成的。我在所述容器上使用 jquery UI 的sortable。绑定有什么问题?我也试过给ul 和li 一个tabindex,但是div 仍然不会给我一个警报。
【问题讨论】:
-
container也是动态的吗?如果是,请使用其他非动态的.. 或$("document").on("keydown", ".textToEdit", function (e) { -
我用jsfiddle.net 尝试过,点击标签时弹出no。我错过了什么吗?
-
@PilgerstorferFranz 不,你说得对,它确实在那里工作。我会尝试看看我缺少什么使其无法在我的版本中运行并修复我的帖子。
-
@PilgerstorferFranz 啊,明白了——我正在使用 jquery UI 的
sortable,这会终止事件:jsfiddle.net/YwRUE/1 -
很高兴您发现了错误 - 继续编码!