我有一张桌子,其中一个单元格中有一个按钮。现在,当我禁用该单元格时,单元格被禁用,但在单击该单元格时,按钮单击事件正在发生。因此,我禁用了按钮,而不是禁用单元格。现在一切正常,但我想知道为什么在禁用单元格时,按钮点击事件被解雇了? 我的代码片段如下所示:
禁用手机 - (以前的方法)---
grid.rows[i].cells[1].disabled=true;
禁用按钮:(新方法) -
grid.rows[i].cells[1].firstChild.disabled=true;
答案 0 :(得分:2)
来自html4 spec:
以下元素支持disabled属性:BUTTON,INPUT,OPTGROUP,OPTION,SELECT和TEXTAREA。
查看html4 spec for td,没有任何内容表示禁用是有效的。
这意味着在表格的单元格上禁用设置不会执行任何操作。您需要单独设置单元格内的表单元素。
你现在正在做的是在单元格上随机设置一些对它没有任何意义的属性。这与设置grid.rows[i].cells[1].foobar=true;
是一回事。它没有任何意义,但细胞附着在它上面。
答案 1 :(得分:0)
我认为可能会发生这种情况,因为当你禁用单元格时,按钮元素不会被禁用。与单元格不同,它仍然保持启用状态。