0
特定のリンクを無効にしようとしています。それらは私たちのnavbarのサードパーティのコンポーネントの中にありますので、元のHTMLを変更するだけではなく、コントローラからng-clickを削除したいのです。私は要素を見つけて更新することができましたが、ブラウザの要素を調べてもng-clickイベントが表示されなくても、ng-clickイベントはまだ起きていますか?要素からng-clickを削除できません。
HTML:
<div ng-app="myApp" ng-controller='myController'>
<div id="myDIV">
<ul>
<li><a ng-click='value=value+1'>click me to add value</a></li>
<li>not a link</li>
</ul>
</div>
<input ng-model="value" />
Javascriptを:
var app = angular.module('myApp', []);
app.controller('myController', ['$scope',
function($scope) {
$scope.value = 0;
var items = document.getElementById("myDIV").getElementsByTagName("ul")[0].getElementsByTagName("li");
_.each(items, function(item){
var link = item.getElementsByTagName('a');
if(link[0]){
console.log('before: ',link[0]);
var myElement = angular.element(link[0]);
myElement.removeAttr('ng-click');
console.log('after: ',myElement);
}
});
}
]);
フィドル:http://jsfiddle.net/esoyke/s9gdxsc0/は
私はそのことについて知りませんでした。私のコードは実際にはsetTimeoutにラップされていましたが、それを私のフィドルに含めるのを忘れました。はい、私はそのhackishを理解しています、私はちょうどライブラリを変更することを避けようとしていた(角度ウィザード)カスタマイズされたバージョンにつながる。 –