我有一个我无法直接更改的HTML元素。
如何向其添加ng-click事件?
E.g。
<div id="myDiv"><img src="my/img/src/jpg"/></div>
如何在div中添加ng-click?请Jquery或vanilla JS回答。
答案 0 :(得分:0)
好吧,我发现,由于元素是由服务提供的,它在页面加载时不存在,所以我必须尝试另一种方法来执行此操作。
在其他情况下,答案是:
$("#myDiv").attr("ng-click", "myFunction()");
$compile($("#myDiv"))($scope);
当您尝试向其中添加内容时,请确保您的元素存在!
答案 1 :(得分:0)
如果您不限制在元素上使用 ID (...如果您可以使用类),那么您可以编写一个指令来绑定Click处理程序。
您可以编写指令将其限制为该类:
<div class="myClass"><img src="my/img/src/jpg"/></div>
angular.module('myModule', [])
.directive('myClass', function () {
return {
restrict: 'C', // <-- restrict to classname
link: function (scope, el) {
el.on('click', function () {
// do stuff
})
}
};
})
这会将点击绑定到添加了myClass
的任何元素。