簡體   English   中英

停用最后一列的click-Event

[英]Deactivate click-Event for last column

在我的js上,我為每個表行設置了一個click-Event。 這很好用。 我嘗試僅刪除此表的最后一列的click-Event,但它不起作用。

你知道為什么嗎? 選擇器是正確的還是我必須選擇的不僅僅是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 ,execpt最后一行。

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/

嘗試使用.find()來定位表上的最后一個元素。

$('#klauselliste tr').find('td:last').on('click', function (e) {
 e.preventDefault();
 e.stopPropagation();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM