2017-04-04 9 views
0

クローンアイテムでイベントを発生させないフクロウカルーセルがあります。ng-clickと子セレクタ

$('#multiple-carousel .item').click(function() { 
     alert("click"); 
}); 

へ:

<div id="multiple-carousel"> 
    <div class="item" ng-click="myClick($event)">...</div> 
</div> 

$('#multiple-carousel').on('click', '.item', function() { 
    alert("click"); 
}); 

は、私は同様に自分のコードから変更することができ ので、as solution people proposeは親1への直接のターゲットからのイベントを移動します

〜次のようなもの:

<div id="multiple-carousel" ng-click[???".item"???]="myClick($event)??"> 
    <div class="item" >...</div> 
</div> 
+0

スライダーの項目に 'ng-repeat'を使用していますか? – Und3rTow

+0

いいえ、私はサーバー側foreachを使用します – Serge

+0

アイテムを生成するために使用するコードの一部を含めることができますか(サーバー側foreach)? HTMLを返しますか?回避策としては – Djuka

答えて

2

jQueryの.onの2番目のパラメータは、子孫がイベントをトリガするフィルタである、しかし、AngularJSのイベントは、通常は(この場合にはNGクリック)ディレクティブを介して処理されているjQueryのと同じ機能をサポートしませんそうです。

あなたは(行うには正しいことです)ディレクティブを使用する場合しかし、あなたはこのような何かをしなければならない、angular.elementでイベントをクリックして追加することができます。

$scope.myClick = function(event) { 
    if (event.target.className === 'item') { 
    // do smth 
    } 
} 

は見ることthis答えを参照してください。 event.currentTargetとevent.targetの違い。

+0

が大丈夫です、ありがとうございます – Serge

関連する問題