這裏處理是在我試圖基於模型的值來禁用一個鏈接指令:禁用ngClick事件中的自定義指令
app.directive('disableable', function($parse){
return {
restrict: 'C',
require: '?ngClick',
link: function (scope, elem, attrs, ngClick) {
if (attrs.disable){
var disable = $parse(attrs.disable);
elem.bind('click', function (e) {
if (disable(scope)){
e.preventDefault();
return false;
}
return true;
});
scope.$watch(disable, function (val) {
if (val){
elem.addClass('disabled');
elem.css('cursor', 'default');
}
else {
elem.removeClass('disabled');
elem.css('cursor', 'pointer');
}
});
}
}
};
});
我希望能夠禁用所有鏈接的操作,不管他們是否使用簡單的hrefs或ngClick操作。由於preventDefault調用,Hrefs可以正常工作,但我無法弄清楚如何挖掘ngClick並防止它觸發。我正在做的點擊事件的綁定不起作用,因爲它看起來ngClick綁定了我自己的控制器,我無法控制。有什麼我可以做的嗎?
的jsfiddle:http://jsfiddle.net/KQQD2/2/
stopImmediatePropagation正常工作達v1.0.8,從V1.2.0沒有。在相關的小提琴上測試。 –