我是AngularJS的新手,所以请原谅我这个转储问题。 如何收听“点击”或“ ousemove”之类的“ dom”事件?
这就是我得到的(没有错误,但在控制台中也没有结果)
//代码基于原始的angularjs-seed。
angular.module('myApp.controllers', []). controller('MyCtrl1', ['$scope', function($scope) { $scope.$on('dragover', function() { console.log('dragover'); }); $scope.$on('click', function() { console.log('click'); }); }]) .controller('MyCtrl2', [function() { }]);
在AngularJS中,事件通常由指令处理。
指令是教授HTML新技巧的一种方式。在DOM期间,编译指令将与HTML匹配并执行。这允许指令注册行为或转换DOM。
对于“ click”事件,可以使用ngClick指令:
HTML:
<button ng-click="doSomething()">Click me</button>
JS:
function MyCtrl($scope){ $scope.doSomething = function(){ // do something... }; }
对于“拖动”事件(以及Angular本机指令尚未涵盖的其他事件),您将编写自己的指令:
<div drop-target>Drop here</div>
angular.module('MyApp') .directive('dropTarget', function(){ return function($scope, $element){ $element.bind('dragover', function(){ // do something when dragover event is observed }); }; })