他の場所にリンクする<a>
タグ内のボタンがあります。ボタンをクリックすると親タグのリンクがトリガーされないようにしたい。私は$event.stopPropagation()
を使ってみましたが、うまくいかないようです。ここ
は私のhtmlです:
<div class="column" ng-repeat="eventObj in events" ng-repeat-dimmer>
<a href="#/sample-event/{{eventObj.eventId}}">
//divs
<h2>{{eventObj.eventName}}</h2>
<div>{{eventObj.eventStart | date}} - {{eventObj.eventEnd | date}}</div>
<h5>{{eventObj.eventVenue}}</h5>
<button ng-click="deleteEvent(eventObj,$event)"></button>
//divs
<img class="ui image" src="assets/img/sampleevent.png"/>
</a>
</div>
と私のコントローラでの機能:
$scope.deleteEvent = function(delEvent,$event){
$event.stopPropagation();
console.log($event.isPropagationStopped())
$scope.targetEvent = delEvent;
if(confirm("Note: This will permanently delete the event and games associated with it.")==true){
EventService.deleteEvent($scope.targetEvent)
.then(function(){
EventService.getEvents()
.then(function(events){
$scope.events = events;
});
})
window.location.reload();
}
}
私はここで何をしますか?
また、$ event.stopPropagation()の後に$ event.preventdefault()を追加します。 。ホープ助けてください –
返すfalseを追加しようとすると偽; deleteEvent関数の最後に追加します。 – Loren
@SaurabhAhujaこれがありがとうございました! preventDefaultが動作し、stopPropagationがなぜそうでないのか聞いてもよろしいですか? – Markus