jQuery:dblclick上的触发事件不起作用(但在keyup等上起作用)
jQuery: Triggering event on dblclick not working (but working on keyup etc.)
我是JS/jQuery的新手,在我的文档中使用以下代码段,准备在具有特定类的TD上调用keyup函数:
$(document).on('keyup', '.calcInOut, .calcBalance', calculateSumsKPR);
该函数根据表中的输入计算一些数据,然后使用计算结果更新单元格。该表是一个标准的HTML表,包含大量动态添加的行和TD,所有可编辑的TD都包含一个内容可编辑的div,用户可以在其中输入数字。
到目前为止,一切都按预期进行,但由于某种原因,我无法在双击时调用相同的函数。
我尝试使用'dblclick keyup'
而不是'keyup'
,还尝试复制整个片段并用dblclick
替换keyup
,但两者都没有在双击时触发函数。
双击时我确实有另一个事件,它是单独启动的,并在双击时清除div的内容,但我不应该在这个上调用两个单独的事件吗?
示例TD:
<td class="calcInOut editable"><div contenteditable="true"></div></td>
非常感谢您在这方面的帮助,Mike
这里有选项。。。
看来您可能试图重载事件绑定,但这不会起作用。
不工作
$(object).on("click dblclick keyup", function() { /*do stuff*/ })
$(object).bind("click dblclick keyup", function() { /*do stuff*/ })
确实有效
$(object).on("click", function() { /*do stuff*/ }).on("dblclick", function() { /*do stuff*/ }).on("keyup", function() { /*do stuff*/ });
$(object).bind("click", function() { /*do stuff*/ }).on("dblclick", function() { /*do stuff*/ }).on("keyup", function() { /*do stuff*/ });
或
$(object).click(function() { /*do stuff*/ }).dblclick(function() { /*do stuff*/ }).keyup(function() { /*do stuff*/ });
也
假设您的事件都希望激发相同的过程/方法/过程。。。
然后你会这样做:
function doStuff() {
/*do stuff*/
}
$(object).on("click", doStuff).on("dblclick", doStuff).on("keyup", doStuff);
或
$(object).bind("click", doStuff).on("dblclick", doStuff).on("keyup", doStuff);
或
$(object).click(doStuff).dblclick(doStuff).keyup(doStuff);
这对我有效:
$(".js-double-click").dblclick(function() {
alert("Handler for .dblclick() called.");
});
这是一个工作代码笔:http://codepen.io/socketwiz/pen/OVQdqK?
相关文章:
- 制作一个不带HTML a标记但在动画播放完毕后指向其他页面的超链接
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 如何将字符串拆分为字符,但在javascript中保留空格
- JavaScript获胜't运行,但在jsFiddle中工作
- 列表样式在IE中未设置为none,但在IE中适用
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- 滚动在Chrome中有效,但在Firefox或IE中无效
- jQuery自动完成在Firefox中运行良好,但在Chrome中则不然
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- appendChild在函数外部工作,但在函数内部不工作
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 为什么这个jQuery可以作为一个小提琴工作,但在我的网页上没有
- 在js中访问元素时不透明度和样式未定义,但在css中定义
- JQuery和Javascript没有'在我的项目中不起作用,但在网络上起作用
- 为什么这个按钮在IE中有效,但在Firefox中无效
- 未在keyup上发布变量
- 变量在运行时未定义,但在使用调试器时定义
- 如何在javascript中点击按钮重新加载网页,但在重新加载后调用函数
- jQuery:dblclick上的触发事件不起作用(但在keyup等上起作用)