2015-02-07 51 views
0

我有一個普通的容器,它是全屏幕背景,裏面有小內容。在一般的容器中,當我點擊小格子時,我的ng-click被激活。我該如何禁用?ng-click on current tag

<div class="generalContainer" ng-click="onlyBackground()"> 
    <div class="smallDiv">Content</div> 
</div> 

我試圖在後臺,小格添加z-index,但還是功能上的小格被激活。我不確定這是css問題還是角度問題。

+1

通過添加'ng-click'處理程序並在處理程序中調用'$ event.stopPropagation()'來查看在小的div中停止點擊傳播。類似:http://stackoverflow.com/questions/20300866/angularjs-ng-click-stoppropagation – 2015-02-07 21:31:52

+0

是的,與你給的網址相同的問題,找不到它之前。 – 2015-02-07 22:39:08

回答

3

在dom中有孩子會影響父元素ng-click。 這是因爲事件發生在Dom樹中。您可以ommit它,通過強制停止傳播:使用 :

<div class="generalContainer" ng-click="onlyBackground()"> 
    <div class="smallDiv" ng-click="$event.stopPropagation();">Content</div> 
</div> 

當你點擊smallDiv,然後單擊要傳播到父。

+0

真棒,它的工作:) – 2015-02-07 22:37:20

1

您的元素是否有位置屬性?只有元素具有位置屬性時,z-index才起作用。

.generalContainer { 
    position: relative; 
    z-index: 1; 
} 
.smallDiv { 
    position: relative; 
    z-index: 9; 
} 
+0

generalContainer是絕對的,smallDiv是相對的 – 2015-02-07 22:33:39

+0

嘗試添加到他們兩個屬性清除:兩者。如果這不起作用嘗試添加溢出:隱藏。 – 2015-02-07 22:35:51

+0

人們建議其他角度解決方案和它的工作,謝謝你的幫助 – 2015-02-07 22:47:36