gpt4 book ai didi

javascript - jQuery:在 dblclick 上触发事件不起作用(但在 keyup 等上起作用)

转载 作者:行者123 更新时间:2023-12-02 16:01:01 26 4
gpt4 key购买 nike

我是 JS/jQuery 的新手,并在我的文档中使用以下代码片段,准备在具有特定类的 TD 上调用 keyup 上的函数:

$(document).on('keyup', '.calcInOut, .calcBalance', calculateSumsKPR);

该函数根据表中的输入计算一些数据,然后使用计算结果更新单元格。该表格是一个标准的 HTML 表格,具有大量动态添加的行和 TD,并且所有可编辑的 TD 都包含一个 contenteditable div,用户可以在其中输入数字。

到目前为止,一切都按预期工作,但由于某种原因,我无法在双击时调用相同的函数

我尝试使用 'dblclick keyup' 而不是 'keyup',还尝试复制整个代码段并用 替换 keyup dblclick 那里,但两者都不会在双击时触发该功能。

我确实有另一个双击事件,该事件是单独启动的,并在双击时清除 div 的内容,但是我是否应该能够在此调用两个单独的事件

TD 示例:

<td class="calcInOut editable"><div contenteditable="true"></div></td>

非常感谢您对此提供的任何帮助,迈克

最佳答案

您可以在这里选择...

看来您可能尝试过重载事件绑定(bind),但这是行不通的。

不起作用

$(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);

关于javascript - jQuery:在 dblclick 上触发事件不起作用(但在 keyup 等上起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com