在我的 js 上,我为每个表行设置了一个单击事件。 这在自动取款机上工作得很好。 我尝试仅删除此表最后一列的点击事件,但它不起作用。
你知道为什么吗?选择器是否正确,还是我必须选择的不仅仅是 td 的最后一个子级?
function addRowHandlers() {
var table = document.getElementById("klauselliste");
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
var currentRow = table.rows[i];
var createClickHandler =
function (row) {
return function () {
var cell = row.getElementsByTagName("td")[0];
var name = cell.innerHTML;
window.location.href = '/Klausel/Detail?Name=' + name.trim();
};
};
currentRow.onclick = createClickHandler(currentRow);
}
// Code Snippet
addRowHandlers();
$("td:last-child").unbind("click");
// Code Snippet
最佳答案
我将您的代码重新创建为“纯 jQuery”。更少的代码,同样的努力。请注意 :not(:last-child)
,它将选择一行中的所有 td
,最后一行除外。
function addRowHandlers() {
$("table#klauselliste tr td:not(:last-child)").click(function() {
var name = $("td:eq(0)", $(this).parent()).html();
window.location.href = '/Klausel/Detail?Name=' + name.trim();
});
}
请参阅此处的工作示例:https://jsfiddle.net/wuhtt7sc/1/
关于javascript - 停用最后一列的点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37987336/