我已经搜索了30分钟,所以如果我已经错过了这个答案,我会道歉。我见过很多CLOSE,但没有一个像这样。
我有一个导入的JavaScript函数,用于多个文件。它使得任何具有clickable-row
类的行的表将重定向到href
属性,从而使整行充当锚标记。
但是,在td
上的某些页面上会填充一个复选框,我希望能够在没有页面重定向的情况下点击(因此我可以在表格中选择多行)。
这是我目前的职能:
jQuery(document).ready(function() {
jQuery('.clickable-row').click(function() {
window.document.location = jQuery(this).attr('href');
});
});
我希望它能够执行以下操作,但这不起作用:
jQuery(document).ready(function() {
jQuery('.clickable-row').click(function() {
if(!jQuery(this).closest('td').hasClass('skip-click')) {
window.document.location = jQuery(this).attr('href');
}
});
});
关于如何处理这个的任何想法?
答案 0 :(得分:2)
您需要使用e.target。
处理程序内的 this
将引用.clickable-row
元素,而不是实际触发点击的元素。 event object的target属性将返回触发事件的元素。
jQuery(document).ready(function ($) {
$('.clickable-row').click(function (e) {
if (!$(e.target).closest('td').hasClass('skip-click')) {
window.document.location = jQuery(this).attr('href');
}
});
});