当您创建MDL表时,其中一个选项是应用'class=mdl-data-table--selectable'类。当MDL渲染表格时,会在指定列的左侧插入一个额外的列,其中包含复选框,允许您选择特定行以执行操作。对于我的应用程序,我需要能够在人员选中或取消选中复选框时处理一些JavaScript。到目前为止,我无法做到这一点。
问题在于您不直接指定复选框控件,它们是在MDL升级整个表格时插入的。对于其他MDL组件,例如按钮,我可以在按钮本身上放置onclick事件,因为我正在使用HTML按钮标记指定它。
尝试将onclick放在用于呈现复选框的各种容器对象和跨度上已经失败。我附加的事件似乎没有触发。我最接近的方法是将事件附加到TR,然后遍历复选框以评估它们的状态。
以下是由MDL为单个复选框单元格生成的标记:
问题在于您不直接指定复选框控件,它们是在MDL升级整个表格时插入的。对于其他MDL组件,例如按钮,我可以在按钮本身上放置onclick事件,因为我正在使用HTML按钮标记指定它。
尝试将onclick放在用于呈现复选框的各种容器对象和跨度上已经失败。我附加的事件似乎没有触发。我最接近的方法是将事件附加到TR,然后遍历复选框以评估它们的状态。
以下是由MDL为单个复选框单元格生成的标记:
<td>
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect mdl-data-table__select mdl-js-ripple-effect--ignore-events is-upgraded" data-upgraded=",MaterialCheckbox">
<input type="checkbox" class="mdl-checkbox__input">
<span class="mdl-checkbox__focus-helper"></span>
<span class="mdl-checkbox__box-outline">
<span class="mdl-checkbox__tick-outline"></span>
</span>
<span class="mdl-checkbox__ripple-container mdl-js-ripple-effect mdl-ripple--center">
<span class="mdl-ripple"></span>
</span>
</label>
</td>
这些标记都不是由我指定的,因此我不能仅仅向标记添加onclick属性。
是否有事件链可以挂钩?我想按照程序员的意图来完成它。