发射所有keydown/up事件contenteditable div
问题描述:
我的问题......我似乎无法解雇所有的keydown事件。发射所有keydown/up事件contenteditable div
我使用的是[进入]和[ESC] keydown事件更新/在某些HTML表格刷新或退出/更新数据
有静态的表格单元和动态的表格单元格,填充基于用户搜索-term input
动态表来自$ .each循环,但div结构完全相同(并且div id是唯一的)。在这两种情况下所产生的表格单元格...
<td class="edit"><div contenteditable="true" id="XYZ">[value]</div></td>
该keydown功能是完全一样的....
$(document).ready(function() {
$("#divA").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
// send data to server
// refresh stuff
}
if (e.keyCode == 27) {
// refresh stuff
}
});
$("#divB").keydown(function (e) {
if (e.keyCode == 13) {
e.preventDefault();
// send data to server
// refresh stuff
}
if (e.keyCode == 27) {
// refresh stuff
}
});
的独立功能过帐日期到服务器是相同的。和PHP更新数据库是一样的。并且都有相同的mysql数据结构double, yes null, zero default
。 divB与其中的数据一起存在,并且alert($("#divB").text());
显示将在ajax更新中使用的值。
,但我想都不是很重要,因为我已经缩小问题在这里...
在DIVA,KEYDOWN停止[Enter]键换行,并运行代码
在DIVB,KEYDOWN不会停止[输入]换行并且没有代码运行
唯一的区别是divA是静态的,divB是在javascript中生成的。我怎样才能让divB keydown函数运行?
答
由于一些div是动态的,因此不能使用将事件绑定到它们。这个方法只会在页面加载时绑定到现有的div。
你需要的是使用jquery.on()或jquery.live()(关于更新,所以如果你的jQuery版本支持它,最好使用它)。
完美。非常感谢! – Ben 2012-07-22 09:38:29