2017-04-04 74 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到事件的直接目標移動到其父一個

類似於:

<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的。對第二個參數是過濾器,後人將觸發事件,然而,在AngularJS事件通過指令通常處理(在這種情況下,NG-點擊)不支持相同的功能的jQuery確實。

您可以添加click事件與angular.element,但是如果你想用指令(這是做正確的事),你必須做這樣的事情:

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

this答案看event.currentTarget和event.target之間的區別。

+0

還行,謝謝 – Serge