Javascript 禁用HTML表格单元格上的单击事件

Javascript 禁用HTML表格单元格上的单击事件,javascript,jquery,html,Javascript,Jquery,Html,如何在单元格为空或值为零时禁用单击表格单元格。 我有一个表格,当我点击一个特定的单元格时,会执行某些操作。但我希望当表的单元格值为0或为空时,单击事件不起作用 $('#tablename').off('click','td').on('click', 'td', function(e) { var column = e.delegateTarget.tHead.rows[0].cells[this.cellIndex]; var row = this.parentNode.ce

如何在单元格为空或值为零时禁用单击表格单元格。 我有一个表格,当我点击一个特定的单元格时,会执行某些操作。但我希望当表的单元格值为0或为空时,单击事件不起作用

$('#tablename').off('click','td').on('click', 'td', function(e) { 
    var column = e.delegateTarget.tHead.rows[0].cells[this.cellIndex];
    var row = this.parentNode.cells[1]; 

    if ($(row).text().trim() == "")
    {
        row = this.parentNode.cells[0]; 
    }

    var rowvalue = $(row).text();
    var columnvalue = $(column).text();
}

希望这对您有所帮助。

我不想给您完整的解决方案,只想给您一个提示。您应该使用以下代码行

<td onclick="return false;">Content</td>

这是内联事件处理—您可以始终使用jquery来避免内联事件处理—这对您来说也是一个很好的功课

尝试使用零或空字符串值映射所有dom元素,然后禁用它们的默认单击功能:

var duds = $('td').map(function () {
    if ($(this).html() == 0 || $(this).html() == "") {
        return $(this);
    }
});

duds.onclick(function (event) {
    event.preventDefault();
});

这是一个示例,请根据您的代码进行修改:

HTML:

JS:


您可以使用这个css属性

pointer-events: none;

你能提供一个简单的代码示例吗?这取决于点击事件的处理方式,请向我们展示你的代码…后代码示例。只有到那时我们才能做到。
<table>
    <tr>
        <td>Content <input type="text" class="hidden"></td>
        <td>Content <input type="text" class="hidden"></td>
    </tr>
    <tr>
        <td>Content <input type="text" class="hidden"></td>
        <td>Content <input type="text" class="hidden"></td>
    </tr>
</table>
.visible {
    display: block;
}

.hidden {
    display: none;
}
var tds = $('td');

tds.click(function(){
   var thisTable = $(this).html();
   if( thisTable == '0' || thisTable  == '' ){

   var allInputs = tds.find('input');
    allInputs.removeClass('visible');
    allInputs.addClass('hidden');
}
    });
pointer-events: none;