現在、クロム拡張機能を構築中です。 Chromeのポリシーは、インラインJSイベントハンドラは許可されないため、ng-repeat要素のイベントリスナーを作成する方法を探しています。onclickを使用せずにng-repeatでイベントを処理する方法
私はng-repeatに渡しているデータセットに基づいてイベントハンドラを生成しようとしましたが、テンプレートを知っているので、適切なIDを生成できましたが、私は見えませんng-repeatがDOMの更新を完了した後にのみイベントリスナーが設定されるようにタイミングを取得する必要があります。
私の現在のコードは以下の通りです:
app.controller('commentsCtrl', function($scope) {
$scope.data = datalayer;
//console.log($scope.data);
document.addEventListener('DOMContentLoaded', function(){
for (var i = 0; i < datalayer.comments.length; i++){
var id = datalayer.comments[i].id + "_replybutton";
console.log(id);
var div = document.getElementById(id);
console.log(div);
console.log(datalayer.sc);
}
});
});
x_replybuttonは私がリスナーを作成したいボタンのID形式です。現在、繰り返しセクションがロードされると、上記のコードをコンソールで正常に動作させることができますが、コントローラーに追加すると実行されません。
ご意見やご提案は本当にありがとうございます。
タイムアウトについての素晴らしい点です。 datalayerは現時点ではxhr reqのプレースホルダに過ぎませんが、私もこれを考慮に入れます。 –