【发布时间】:2018-04-18 13:16:34
【问题描述】:
有没有办法使用angular.element(...).on('click', onTdClick);(例如)在每个被点击的地方执行 onTdClick(向它提供元素)?
假设我有 2 个表格,都有单元格和列。
我希望能够点击 CELLS 并将我点击的元素发送到onTdClick($event)。
$scope.onTdClick = function(ev){
window.getSelection().selectAllChildren(ev.target);
};
基本上做同样的事情:ng-click="onTdClick($event)",而不必在数百个 <td> 上点击 ng-click
我使用 .insertRow 和 .insertCell 动态添加表格行和表格单元格
https://www.w3schools.com/jsref/met_table_insertrow.asp
所以静态地做angular.element().find('td').on()在这里不会很好用。
我的最终结果是什么?
我正在尝试做到这一点,因此我可以单击<td> 来基本上通过单击它们来突出显示单元格。
高亮代码已经过测试并且可以工作:
window.getSelection().selectAllChildren(ev.target);
(其中 ev 是 td 元素)
【问题讨论】:
-
如果你用
*ng-for生成你的表行,你只需要写一次ng-click。 -
为什么你有数百个
<td>s ?你不能用ng-for吗? ...当然您可以使用angular.element(document).find('td')匹配页面中的所有tds -
@JeremyThille 我通过使用 insertRow() 在 CEFSharp 上的回调生成它。
-
@OvidiuDolha 是的,但是在执行该代码后添加的 td 不匹配吗?
-
取决于您将这段代码放在哪里 - 应该有一些方法可以知道什么时候渲染了 comp - 请参阅 stackoverflow.com/questions/11125078/… 和类似问题
标签: javascript angularjs cefsharp