我在让这段代码工作时遇到问题。它的构建允许用户单击一行以通过不同的类突出显示来“选择”它。如果单击另一行,则突出显示该行并清除当前行。如果再次单击已经突出显示的一个,它将被清除恢复正常。
这是在刷新页面的 ajax 调用中,因此每次调用完成并插入表格的 html 时,都会调用下面的这个函数。出于某种原因,每隔一次重新加载表,就可以了。我已经在函数末尾追踪到 $(this).addClass(selectedUserClass) 不起作用的行。我放在那里的调试控制台日志可以使用正确的类,但是下一部分由于某种原因没有添加该类。
在萤火虫中,该行从 .. 变为 ,但它没有改变?我一直在看这个几个小时,我无法弄清楚。谢谢你的帮助!
function loadUserListener(style) {
if (style == "normal") {
selectedUserClass = 'selectedUser';
selectedJQueryClass = '.selectedUser';
} else {
selectedUserClass = 'selectedUserInverted';
selectedJQueryClass = '.selectedUserInverted';
}
console.log('setting');
$("#selectuser").delegate("tr", "click", function () {
if ($(this).hasClass(selectedUserClass)) {
$(selectedJQueryClass).removeClass(selectedUserClass);
} else if ($(selectedJQueryClass)[0]) {
console.log('another');
$(selectedJQueryClass).removeClass(selectedUserClass);
$(this).addClass(selectedUserClass);
} else {
console.log(selectedUserClass);
$(this).addClass(selectedUserClass);
}
});
}