-1
我想防止點擊位於ng-repeat內部的href頂部的覆蓋按鈕(div),這是使用favorite-delete的neg重複上的防止點擊div到底層<a href
<div style="margin-top:110px;" id="favoritecdlist" ng-controller="UserController">
<div class="cdscrollcontainer" ng-repeat="cd in favoriteCds">
<a href="~/cd/{{cd.id_cd}}" class="cdscrollcell" id="{{cd.id_program}}">
<div class="favorite-delete" ng-click="RemoveCDFromFavoriteList(cd.id_cd)">x</div>
<img class="cdimage" ng-src="{{cd.url}}">
<div class="cdimagebackground">
<div class="cdtitle">{{cd.cdName}} ({{cd.ReleaseYear}})</div>
</div>
</a>
</div>
</div>
這上面的按鈕是從名單上刪除的喜愛控制器部分,我首先要淡出(1秒),隨後擊發實際的Web服務從數據庫中刪除。
$scope.RemoveCDFromFavoriteList = function (id_cd) {
$('#' + id_cd + '').css("opacity", "0").css("transition-duration", "1s");
$http({
method: 'get',
url: "/User/RemoveUserFavoriteCD?id_cd=" + id_cd,
})
.success(function (data) {
$('#' + id_cd + '').css('display', 'none');
}).error(function (data) {
$scope.message = 'Unexpected Error';
});
}
的問題是,當我在點擊收藏,刪除我實際上是從列表中刪除圖像,它會刪除它從數據庫中而是直接經過與CD的細節加載頁面。我如何防止這種情況發生,我嘗試了stoppropagation並防止默認,但似乎無法得到它的工作,以及使用指令,無法讓它工作。我需要做些什麼才能使其發揮作用?
我嘗試了以下內容添加到userController.js
$(document).ready(function(){
$('favorite-delete').on('click', function(event){
event.preventDefault();
})
})
也沒有運氣的HREF鏈接仍然加載,爲了得到它的工作,我不得不我需要同時
在你想留可點擊元素的NG-點擊指令,加$ event.stopPropagation(); 'ng-click =「RemoveCDFromFavoriteList(cd.id_cd); $ event.stopPropagation();」' 出於好奇,如果你不想讓錨元素做任何事情,爲什麼它在那裏? 如果您升級Angular,您還需要重新訪問您的$ http分辨率。 Angular 1.6有一些重大更改,並且不再有用於解決承諾的.success()方法。你現在必須使用.then()像一個普通的Promise – WrksOnMyMachine
嗨,我嘗試了ng-click內的「$ event.stop ...」,但它不起作用,頁面仍然被加載。你對錨元素意味着什麼? –