For a mockup I need a simple mechanism like
ng-click="alert('Clicked')"
but the code above is not working, can someone help me? I don't want to touch the Controller..
For a mockup I need a simple mechanism like
ng-click="alert('Clicked')"
but the code above is not working, can someone help me? I don't want to touch the Controller..
As far as I know, ng-click
works only within your $scope
. So you would only be able to call functions, defined in your $scope
itself. To use alert, you may try accessing the window
element, just by using window.alert('Clicked')
.
EIDT: Thanks to Ibrahim. I forgot. You shouldn't be able to use window.alert
, as far as you won't define:
$scope.alert = window.alert;
In this case, using alert('Clicked')
in your ng-clicked
directive should work. But at the end, this method would not solve your problem of not touching your controller.
ng-click="window.alert('clicked')"
, if you mean to write function in scope, then you do not necesarilly use window.alert, just alert will work too. –
Smolder href="javascript:...
:/ –
Aileneaileron Refer to previous answer, ng-click = "alert('Hello World!')" will work only if $scope points to window.alert i.e
$scope.alert = window.alert;
But even it creates eval problem so correct syntax must be:
HTML
<div ng-click = "alert('Hello World!')">Click me</div>
Controller
$scope.alert = function(arg){
alert(arg);
}
As far as I know, ng-click
works only within your $scope
. So you would only be able to call functions, defined in your $scope
itself. To use alert, you may try accessing the window
element, just by using window.alert('Clicked')
.
EIDT: Thanks to Ibrahim. I forgot. You shouldn't be able to use window.alert
, as far as you won't define:
$scope.alert = window.alert;
In this case, using alert('Clicked')
in your ng-clicked
directive should work. But at the end, this method would not solve your problem of not touching your controller.
ng-click="window.alert('clicked')"
, if you mean to write function in scope, then you do not necesarilly use window.alert, just alert will work too. –
Smolder href="javascript:...
:/ –
Aileneaileron You can use
onclick="alert('Clicked')"
for debugging purposes
As Neeraj mentioned, the accepted answer does not work. Add something like this to your controller to avoid an Illegal Invocation
error:
$scope.alert = alert.bind(window);
© 2022 - 2024 — McMap. All rights reserved.
ng-click
works. however, if all you need is a simple javascript alert, why are you usingng-click
instead ofonclick
? – Correspond