Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-侦听所有表的onclick事件<;td>;_Javascript_Angularjs_Cefsharp - Fatal编程技术网

Javascript AngularJS-侦听所有表的onclick事件<;td>;

Javascript AngularJS-侦听所有表的onclick事件<;td>;,javascript,angularjs,cefsharp,Javascript,Angularjs,Cefsharp,是否有一种方法可以在('click',onTdClick)上使用angular.element(…)(例如)在每次单击时执行onTdClick(向其提供元素) 假设我有两个表,都有单元格和列。 我希望能够单击单元格并将所单击内容的元素发送到onTdClick($event) 基本上与以下操作相同:ng click=“onTdClick($event)”,而无需在数百个上进行ng click 我使用.insertRow和.insertCell动态添加表行和表单元格 因此,静态地执行angular

是否有一种方法可以在('click',onTdClick)上使用
angular.element(…)(例如)在每次单击时执行onTdClick(向其提供元素)

假设我有两个表,都有单元格和列。
我希望能够单击单元格并将所单击内容的元素发送到
onTdClick($event)

基本上与以下操作相同:
ng click=“onTdClick($event)”
,而无需在数百个
上进行ng click

我使用.insertRow和.insertCell动态添加表行和表单元格

因此,静态地执行
angular.element().find('td').on()
在这里不起作用

我的最终结果是什么? 我正在尝试这样做,这样我就可以单击
,通过单击单元格来突出显示单元格。 突出显示代码已经过测试,可以正常工作:
window.getSelection().selectAllChildren(ev.target)

(ev是td元素)

您不应该将insertRow与AngularJS一起使用。相反,您应该对每一行都有一个对象的数组使用ng repeat,并且当您想要插入一行时只需推送对象

$scope.insertRow = function(){
    $scope.tdList.push({});//push whatever you want
}

如果希望单元格数量可变,可以在该对象中存储一些参数,告诉视图行有多少个单元格,并在其中放入嵌套的ng REPECT以创建单元格

如果为
生成带有
*ng的表行,只需编写
ng click
一次。为什么有上百个
呢?您不能为
使用
ng吗。。。当然,您可以使用
angular.element(document).find('td')
来匹配文件中的所有
td
spage@JeremyThille我使用insertRow()通过CEFSharp上的回调生成它@OvidiuDolha是的,但这与代码执行后添加的td不匹配吗?取决于您将此代码放在何处-应该有某种方法可以知道comp何时呈现-请参阅和类似问题,出于性能原因,我专门执行insertRow。过了一段时间,我会有上千行的记录,而让这些记录通过AngularJS的所有检查会让它在过了一段时间后变得非常慢。我明白你的意思。但是我仍然建议您使用一些技巧来提高ng repeat的性能,即使您可以静态执行ng repeat,并且只在您告诉angular执行时才查找更改。我想这对你来说会容易得多。看看这篇文章,例如:它仍然不一定需要检查之类的,而对于insertRow,我只是做了,完成了。我不会使用ng repeat。
$scope.insertRow = function(){
    $scope.tdList.push({});//push whatever you want
}