当前位置: 首页 > 面试题库 >

AngularJS:如何收听DOM事件?

蓟雪峰
2023-03-14
问题内容

我是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本机指令尚未涵盖的其他事件),您将编写自己的指令:

HTML:

<div drop-target>Drop here</div>

JS:

angular.module('MyApp')
  .directive('dropTarget', function(){
    return function($scope, $element){
      $element.bind('dragover', function(){
        // do something when dragover event is observed
      });
    };
  })


 类似资料:
  • 问题内容: 我有一个。当用户在更改时按下键时,我会tp做点什么。我怎样才能做到这一点? 最简单的方法: 问题答案: 文本观察器的示例代码

  • 问题内容: 使用以下构建器时,有没有办法侦听毕加索的事件: 我想打电话和父所以它会适当调整,但我不知道如何设置监听器或回调。 我看到毕加索有错误事件报告,但是有成功事件吗? 问题答案: 您可以使用获取onSuccess和onError事件。只需向您的请求添加新的回调,如下所示: 然后,您可以在onSuccess回调中执行任何更改和修改。

  • 在使用生成器时,是否有办法监听毕加索的事件,如: 我正在尝试在父上调用和,以便正确调整大小,但我不知道如何设置侦听器或回调。 我看到毕加索有错误事件报告,但有成功事件吗?

  • 问题内容: 我正在开发JMeter插件。我正在尝试创建一个能够监视当前测试状态的AbstractVisualizer。但是,实现TestStateListener似乎不起作用。 我正在通过创建一个基本的侦听器进行测试,该侦听器具有一个登录名,可以将任意信息输出到JMeter的日志记录控制台。通过“添加”功能发送样品时,会向控制台发送一行。但是,各种TestState函数都不会触发任何事件。我还缺少

  • 本文向大家介绍如何在KineticJS管理的HTML5-Canvas中收听Keydown事件?,包括了如何在KineticJS管理的HTML5-Canvas中收听Keydown事件?的使用技巧和注意事项,需要的朋友参考一下 要监听KeyDown事件,请使用- 捕获KeyDown-

  • 如果客户端侦听套接字,则在http://socketplaceonnet.com例如,它如何知道有新内容?我假设服务器无法直接向客户端发送数据,因为客户端可能位于路由器后面,没有端口转发,因此无法直接连接。客户端可能是一部移动电话,可以更改其IP地址。我理解,要让客户端成为侦听器,服务器不需要知道客户端的IP。 非常感谢。