Javascript 禁用HTML表格单元格上的单击事件
如何在单元格为空或值为零时禁用单击表格单元格。 我有一个表格,当我点击一个特定的单元格时,会执行某些操作。但我希望当表的单元格值为0或为空时,单击事件不起作用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
$('#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;