javascript - 停用最后一列的点击事件

标签 javascript jquery jquery-selectors

在我的 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/

相关文章:

javascript - jQuery 显示/隐藏/鼠标输入问题

javascript - 如果类不是一个选项,如何在使用 jQuery 时控制(避免)嵌套 html 元素的样式?

javascript - $this - 找不到正确的 jQuery 选择器

javascript - 如何在JavaScript代码中直接使用struts2组件?

c# - 在页面刷新或移动到另一个页面后保留 setTimeout()

jquery - 获取 jquery lightbox 以将图像从 <img> 标签中拉出

javascript - 移动 JavaScript 下拉菜单无法打开

javascript - jQuery 第一个类型选择器?

javascript - 代理阻止 websockets?如何绕行

javascript - ECMAScript 6 将此上下文分类