网站建设资讯

NEWS

网站建设资讯

Angularjs中事件指令有哪些

这篇文章给大家分享的是有关Angularjs中事件指令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联建站-专业网站定制、快速模板网站建设、高性价比札达网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式札达网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖札达地区。费用合理售后完善,10多年实体公司更值得信赖。

ngClick

适用标签:所有
触发条件:单击

#html

  click me
  click me
#script angular.module('learnModule', [])     .controller('LearnCtrl', function ($scope) {       $scope.click = function () {         alert('click');       }     });

ngDblclick

适用标签:所有
触发条件:双击

#html

  click me
  click me
#script angular.module('learnModule', [])     .controller('LearnCtrl', function ($scope) {       $scope.dblclick = function () {         alert('click');       }     });

ngBlur

适用标签:

触发条件:失去焦点

#html

  link

  
  
  
    
    
    
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.blur = function () {
        alert('blur');
      }
    });

ngFocus

适用标签:

  1. a

  2. input

  3. select

  4. textarea

触发条件:获取焦点

#html

  link

  
  
  
    
    
    
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.focus= function () {
        alert('focus');
      }
    });

ngChange

适用标签:input
触发条件:model更新

输入框的内容改变并不代表model的值更新。按我的理解,一般当两个状态互相切换时,model值会更新。两个状态我称之为合法状态和不合法状态。

不合法的状态:输入的内容不符合type类型,如email类型。输入的内容不符合校验条件,如ngMinlength。不合法的状态下,model会被更新成undefined。

合法的状态:输入的内容是符合类型和校验条件的。

#html

  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      //$scope.text='';
      $scope.change = function () {
        alert('change');
      }      
    });

初始化和不初始化text的条件下,change触发是不一样的哦,这里涉及到model初始化和更新机制。

ngCopy

适用标签:

  1. a

  2. input

  3. select

  4. textarea

官方api上说使用的标签是这些,我没明白a和select复制有啥子用。另外,我换个div实际上也能触发copy事件。一般常用的就是input和textarea。

触发条件:复制。鼠标右键复制和快捷键Ctrl+C都会触发。

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.copy = function () {
        alert('copy');
      }
    });

ngCut

适用标签:

触发条件:剪切。鼠标右键剪切和快捷键Ctrl+X都会触发。

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.cut = function () {
        alert('cut');
      }
    });

ngPaste

适用标签:

a
input
select
textarea

触发条件:粘贴。鼠标右键粘贴和快捷键Ctrl+V都会触发。

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.paste = function () {
        alert('paste');
      }
    });

ngKeydown

适用标签:所有

个人感觉还是input和textarea比较常用

触发条件:键盘按键按下

要把$event传过去,一般都是要判断按了哪个按键的。

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.keydown = function ($event) {
        alert($event.keyCode);
      }
    });

ngKeyup

适用标签:所有

个人感觉还是input和textarea比较常用

触发条件:键盘按键按下并松开

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.keyup = function ($event) {
        alert($event.keyCode);
      }
    });

ngKeypress

适用标签:所有

个人感觉还是input和textarea比较常用

触发条件:键盘按键按下

#html

  
  


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.keypress = function ($event) {
        alert($event.keyCode);
      }
    });

keydown,keypress,keydown三者区别

引发事件的按键

非字符键不会引发 KeyPress 事件,但非字符键却可以引发 KeyDown 和 KeyUp 事件。

事件引发的时间

KeyDown 和 KeyPress 事件在按下键时发生,KeyUp 事件在释放键时发生。

事件发生的顺序

KeyDown -> KeyPress -> KeyUp。如果按一个键很久才松开,发生的事件为:KeyDown -> KeyPress -> KeyDown -> KeyPress -> KeyDown -> KeyPress -> ... -> KeyUp。

ngMousedown

适用标签:所有
触发条件:鼠标按下,左右中间按下都会触发

#html

  button


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.mousedown = function ($event) {
        alert($event.which);
      }
    });

ngMouseup

适用标签:所有
触发条件:鼠标按下弹起,左右中间按下弹起都会触发

#html

  button


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.mouseup = function ($event) {
        alert($event.which);
      }
    });

ngMouseenter

适用标签:所有
触发条件:鼠标进入

#html

  button


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.mouseenter = function () {
        alert('mouseenter');
      }
    });

ngMouseleave

适用标签:所有
触发条件:鼠标离开

#html

  button


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.mouseleave = function () {
        alert('mouseleave');
      }
    });

ngMousemove

适用标签:所有
触发条件:鼠标移动

#html

  button


#script
angular.module('learnModule', [])

    .controller('LearnCtrl', function ($scope) {
      $scope.mousemove = function () {
        alert('mousemove');
      }
    });

ngMouseover

适用标签:所有
触发条件:鼠标进入

感谢各位的阅读!关于“Angularjs中事件指令有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享文章:Angularjs中事件指令有哪些
网站链接:http://cdweb.net/article/jdecsg.html

其他资讯