İşte bir örnek. Diyelim ki birçok site gibi bir resim yer paylaşımım var. Dolayısıyla, bir küçük resmi tıkladığınızda, tüm pencerenizde siyah bir kaplama görünür ve görüntünün daha büyük bir sürümü ortada bulunur. Siyah kaplamayı tıklatmak onu kapatır; görüntüye tıklandığında sonraki görüntüyü gösteren bir işlev çağrılır.
Html:
<div ng-controller="OverlayCtrl" class="overlay" ng-click="hideOverlay()">
<img src="http://some_src" ng-click="nextImage()"/>
</div>
Javascript:
function OverlayCtrl($scope) {
$scope.hideOverlay = function() {
// Some code to hdie the overlay
}
$scope.nextImage = function() {
// Some code to find and display the next image
}
}
Görüntüyü tıklatıp hem eğer sorun, bu kurulumla ilgili olduğunu nextImage()
ve hideOverlay()
denir. Ama istediğim sadece nextImage()
çağrılmak.
nextImage()
Bu gibi fonksiyondaki olayı yakalayıp iptal edebileceğinizi biliyorum :
if (window.event) {
window.event.stopPropagation();
}
... Ama bunu bu pasaj ile bindirme içindeki öğelerdeki tüm işlevlerin önekini eklememi gerektirmeyecek daha iyi bir AngularJS yolu olup olmadığını bilmek istiyorum.
onclick
değil ng-click
.
return false
fonksiyonun sonunda