如何将ngClick添加到现有元素

vin*_*boy 0 angularjs angular-ui

所以我有一些我无法控制的HTML.

<div id="myDiv">
 Stuff inside my div...
</div>
Run Code Online (Sandbox Code Playgroud)

我想添加一个ngClick到它.如果我可以控制html,我会这样做

<div id="myDiv" ng-click="doSomething()">
 Stuff inside my div...
</div>
Run Code Online (Sandbox Code Playgroud)

但就像我说的,我无法改变HTML.如果这是jQuery,我会这样做

$('#myDiv').click(function(){
  doSomething();
});
Run Code Online (Sandbox Code Playgroud)

我如何在Angularjs中做到这一点?谢谢.

UPDATE

从支票来看,似乎你们对我在这里要做的事情感到不满意,所以让我解释一下.

我在我的应用程序中使用AngularUI.AngularUI具有插入的所有这些模板.例如

<accordion-heading></accordion-heading>
Run Code Online (Sandbox Code Playgroud)

<div class="panel-heading">
    <h4 class="panel-title">
      <a href="" class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading">
        <span class="ng-binding ng-scope">Heading</span>
      </a>
    </h4>
</div>
Run Code Online (Sandbox Code Playgroud)

我想将ngClick添加到"panel-title".我可以覆盖模板并添加它,但我不想这样做.来自jQuery,只需在"panel-title"上听一个click事件就有意义了.怎么做Angular?谢谢.

Ras*_*lom 5

你需要找到像这样的元素:angular.element(//selector here);然后添加你需要的属性(ng-click),.attr('ng-click', '//whatever should be here')然后用angular编译它$compile.

但.我很难过你必须这样做,我希望你能找到改变html的可能性.

文档编译