mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-04-01 22:10:24 +00:00
29 lines
900 B
JavaScript
29 lines
900 B
JavaScript
'use strict';
|
|
|
|
/*
|
|
* Modifies the default behavior of html A tag, so that the default action is prevented when href
|
|
* attribute is empty.
|
|
*
|
|
* The reasoning for this change is to allow easy creation of action links with `ngClick` directive
|
|
* without changing the location or causing page reloads, e.g.:
|
|
* <a href="" ng-click="model.$save()">Save</a>
|
|
*/
|
|
var htmlAnchorDirective = valueFn({
|
|
restrict: 'E',
|
|
compile: function(element, attr) {
|
|
// turn <a href ng-click="..">link</a> into a link in IE
|
|
// but only if it doesn't have name attribute, in which case it's an anchor
|
|
if (!attr.href) {
|
|
attr.$set('href', '');
|
|
}
|
|
|
|
return function(scope, element) {
|
|
element.bind('click', function(event){
|
|
// if we have no href url, then don't navigate anywhere.
|
|
if (!element.attr('href')) {
|
|
event.preventDefault();
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|