如何在元素中添加ng-click?

时间:2014-02-03 17:27:41

标签: angularjs

我有一个我无法直接更改的HTML元素。

如何向其添加ng-click事件?

E.g。

<div id="myDiv"><img src="my/img/src/jpg"/></div>

如何在div中添加ng-click?请Jquery或vanilla JS回答。

2 个答案:

答案 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的任何元素。