在标记为重复之前,我已经查看了以下问题,但没有任何内容对我有用。
jQuery click event requires double click to work
Click and double-click event firing(松散地实现)
我有一个JQuery事件,在某些情况下需要单击一下,在大多数其他实例中需要双击。
请参阅小提琴https://jsfiddle.net/SimonPrice/6e9acbo6/5/
在这个小提琴中,您将看到数据的准确表示,支出和折叠功能不起作用,因此我从javascript窗口中删除了它们的功能,以避免分散弹出窗口\警报。
在小提琴中,您将看到一个包含嵌套表的表,该表具有嵌套表。 (我继承的代码)。
使用此代码
$(document).ready(function () {
$(document).on('click', '.up', function () {
shiftRow($(this));
});
$(document).on('click', '.down', function () {
shiftRow($(this));
});
});
这是第一个链接的建议答案我无法使其工作,我仍然需要双击。
我还在文档,表格,tr和td元素以及它自己的类点击事件上尝试过它。
我需要这个只需点击一下就可以了,如果有人能帮助我看到我正在制作的错误,我将不胜感激。
答案 0 :(得分:3)
我已在您的功能中添加了其他日志:
function shiftRow(rowbObj) {
console.log("up or down arrow clicked");
var row = $(rowbObj).closest("tr");
console.log(row[0].rowIndex);
var thisTable = row.closest("table");
if ($(rowbObj).is(".up")) {
if (row[0].rowIndex > 0) {
console.log("current: "+row.text() + " prev: " +row.prev().text());
所以它帮助我意识到你对行内容有额外的隐藏TR(可能用于扩展) - (
<tr id="content_0_36000" class="content" style="display: none;">
) 因此,当您单击一次时,您将在显示和隐藏之间进行替换,这就是为什么它似乎没有发生