AngularJS 事件指令/input相关指令/样式指令/DOM操作指令详解

1.AngularJS 事件指令

(1)ng-click 鼠标点击事件

[html]

<button ng-click="count = count + 1" ng-init="count=0"> Increment  </button>

<span>  count: {{count}}  </span>

(2)ng-dblclick 鼠标双击事件

[html]

  1. <button ng-dblclick="count = count + 1" ng-init="count=0">
  2. Increment (on double click)
  3. </button>
  4. count: {{count}}


(3)ng-mousedown 鼠标点击事件

[html]

  1. <button ng-mousedown="count = count + 1" ng-init="count=0">
  2. Increment (on mouse down)
  3. </button>
  4. count: {{count}}


(4)ng-mouseup 鼠标点击事件 

[html]

  1. <button ng-mouseup="count = count + 1" ng-init="count=0">
  2. Increment (on mouse down)
  3. </button>
  4. count: {{count}}


(5)ng-mouseenter 鼠标移到上面触发事件

[html]

  1. <button ng-mouseenter="count = count + 1" ng-init="count=0">
  2. Increment (when mouse enters)
  3. </button>
  4. count: {{count}}


(6)ng-mouseleave 鼠标离开触发事件

[html]

  1. <button ng-mouseleave="count = count + 1" ng-init="count=0">
  2. Increment (when mouse leaves)
  3. </button>
  4. count: {{count}}


(7)ng-mousemove 鼠标在上面移动即可触发

[html]

  1. <button ng-mousemove="count = count + 1" ng-init="count=0">
  2. Increment (when mouse moves)
  3. </button>
  4. count: {{count}}


(8)ng-mouseover 鼠标经过上面即可触发

[html]

  1. <button ng-mouseover="count = count + 1" ng-init="count=0">
  2. Increment (when mouse is over)
  3. </button>
  4. count: {{count}}


(9)ng-mouseout 鼠标点击触发

[html]

  1. <button ng-mouseup="count = count + 1" ng-init="count=0">
  2. Increment (on mouse up)
  3. </button>
  4. count: {{count}}


(10)ng-keydown 键盘点击即可触发

[html]

  1. <input ng-keydown="count = count + 1" ng-init="count=0">
  2. key down count: {{count}}


(11)ng-keyup 键盘点击即可触发

[html]

  1. <p>Typing in the input box below updates the key count</p>
  2. <input ng-keyup="count = count + 1" ng-init="count=0"> key up count: {{count}}
  3. <p>Typing in the input box below updates the keycode</p>
  4. <input ng-keyup="event=$event">
  5. <p>event keyCode: {{ event.keyCode }}</p>
  6. <p>event altKey: {{ event.altKey }}</p>


(12)ng-keypress 键盘点击即可触发

[html]

  1. <input ng-keypress="count = count + 1" ng-init="count=0">
  2. key press count: {{count}}


(13)ng-focus/blur 同ng-click,键盘点击即可触发

 (14)ng-submit form表单提交

[html]

  1. <script>
  2. angular.module(‘submitExample‘, [])
  3. .controller(‘ExampleController‘, [‘$scope‘, function($scope) {
  4. $scope.list = [];
  5. $scope.text = ‘hello‘;
  6. $scope.submit = function() {
  7. if ($scope.text) {
  8. $scope.list.push(this.text);
  9. $scope.text = ‘‘;
  10. }
  11. };
  12. }]);
  13. </script>
  14. <form ng-submit="submit()" ng-controller="ExampleController">
  15. Enter text and hit enter:
  16. <input type="text" ng-model="text" name="text" />
  17. <input type="submit" id="submit" value="Submit" />
  18. <pre>list={{list}}</pre>
  19. </form>


(15)ng-selected 

[html]

  1. <label>Check me to select: <input type="checkbox" ng-model="selected"></label><br/>
  2. <select aria-label="ngSelected demo">
  3. <option>Hello!</option>
  4. <option id="greet" ng-selected="selected">Greetings!</option>
  5. </select>


(16) ng-change

[html]

  1. <script>
  2. angular.module(‘changeExample‘, [])
  3. .controller(‘ExampleController‘, [‘$scope‘, function($scope) {
  4. $scope.counter = 0;
  5. $scope.change = function() {
  6. $scope.counter++;
  7. };
  8. }]);
  9. </script>
  10. <div ng-controller="ExampleController">
  11. <input type="checkbox" ng-model="confirmed" ng-change="change()" id="ng-change-example1" />
  12. <input type="checkbox" ng-model="confirmed" id="ng-change-example2" />
  13. <label for="ng-change-example2">Confirmed</label><br />
  14. <tt>debug = {{confirmed}}</tt><br/>
  15. <tt>counter = {{counter}}</tt><br/>
  16. </div>


2.AngularJS input相关指令

 (1)ng-disabled 禁用属性,用于select,input,button

[html]

  1. <label>Click me to toggle:<input type="checkbox" ng-model="checked"/></label>
  2. <button ng-model="button" ng-disabled="checked">Button</button>


(2)ng-readonly 禁止属性,用于input禁止输入

[html]

  1. <label>Check me to make text readonly: <input type="checkbox" ng-model="checked"></label><br/>
  2. <input type="text" ng-readonly="checked" value="I‘m AngularJS" aria-label="Readonly field" />


(3)ng-checked

[html]

  1. <label>Check me to check both: <input type="checkbox" ng-model="master"></label><br/>
  2. <input id="checkSlave" type="checkbox" ng-checked="master" aria-label="Slave input">

(4)ng-value

[html]

  1. <script>
  2. angular.module(‘valueExample‘, [])
  3. .controller(‘ExampleController‘, [‘$scope‘, function($scope) {
  4. $scope.names = [‘pizza‘, ‘unicorns‘, ‘robots‘];
  5. $scope.my = { favorite: ‘unicorns‘ };
  6. }]);
  7. </script>
  8. <form ng-controller="ExampleController">
  9. <h2>Which is your favorite?</h2>
  10. <label ng-repeat="name in names" for="{{name}}">
  11. {{name}}
  12. <input type="radio"
  13. ng-model="my.favorite"
  14. ng-value="name"
  15. id="{{name}}"
  16. name="favorite">
  17. </label>
  18. <div>You chose {{my.favorite}}</div>
  19. </form>


3.AngularJS 样式指令

 (1)ng-class 

(2)ng-style

[html]

  1. <input type="button" value="set color" ng-click="myStyle={color:‘red‘}">
  2. <input type="button" value="set background" ng-click="myStyle={‘background-color‘:‘blue‘}">
  3. <input type="button" value="clear" ng-click="myStyle={}">
  4. <br/>
  5. <span ng-style="myStyle">Sample Text</span>
  6. <pre>myStyle={{myStyle}}</pre>


(3)ng-href

[html]

  1. <a id="link-6" ng-href="{{value}}">link</a> (link, change location)

(4)ng-src

<img ng-src="http://www.gravatar.com/avatar/{{hash}}" alt="Description" />

4.angularjs DOM操作指令

(1)ng-if

[html]

  1. <label>Click me: <input type="checkbox" ng-model="checked" ng-init="checked=true" /></label><br/>
  2. Show when checked:
  3. <span ng-if="checked" class="animate-if">
  4. This is removed when the checkbox is unchecked.
  5. </span>


(2)ng-show

[html]

  1. Show: <input type="checkbox" ng-model="checked" aria-label="Toggle ngShow"><br />
  2. <div class="check-element animate-show-hide" ng-show="checked">
  3. I show up when your checkbox is checked.
  4. </div>


(3)ng-switch

[html] view plain copy

  1. <!DOCTYPE html>
  2. <html lang="Zh-cn">
  3. <meta charset="utf-8">
  4. <head>
  5. <title></title>
  6. </head>
  7. <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
  8. <script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular-animate.min.js"></script>
  9. <body>
  10. <div ng-app="myApp">
  11. <div ng-controller="ExampleController">
  12. <select ng-model="selection" ng-options="item for item in items"></select>
  13. <code>selection={{selection}}</code>
  14. <hr/>
  15. <div ng-switch on="selection">
  16. <div ng-switch-when="settings|options" ng-switch-when-separator="|">Settings Div</div>
  17. <div ng-switch-when="home">Home Span</div>
  18. <div ng-switch-default>default</div>
  19. </div>
  20. </div>
  21. </div>
  22. <script type="text/javascript">
  23. var app = angular.module("myApp", [‘ngAnimate‘]);
  24. app.controller(‘ExampleController‘,[‘$scope‘,function($scope){
  25. $scope.items=[‘settings‘,‘home‘,‘options‘,‘other‘];
  26. $scope.selection = $scope.items[0];
  27. }]);
  28. </script>
  29. </body>
  30. </html>


(4)ng-open 

[html]

  1. <label>Check me check multiple:<input type="checkbox" ng-model="open"/></label><br/>
  2. <details id="details" ng-open="open">
  3. <summary>Show/Hide me</summary>
  4. </details>


5.AngularJS ngBind/ngBindHtml/ngBindTemplate/ngInclude

(1)ng-bind 显示数据类似于{{}}

[html]

  1. <label>Enter name: <input type="text" ng-model="name"></label><br>
  2. Hello <span ng-bind="name"></span>!


(2)ng-bind-template 解决ng-bind中只能绑定一个的问题

[html]

  1. <label>Salutation: <input type="text" ng-model="salutation"></label><br>
  2. <label>Name: <input type="text" ng-model="name"></label><br>
  3. <pre ng-bind-template="{{salutation}} {{name}}!"></pre>


(3)ng-bind-html 解析html代码

[html]

  1. <div ng-app="myApp">
  2. <div ng-controller="ExampleController">
  3. <p ng-bind-html="myHTML"></p>
  4. </div>
  5. </div>
  6. <script type="text/javascript">
  7. var app = angular.module("myApp", [‘ngSanitize‘]);
  8. app.controller(‘ExampleController‘,[‘$scope‘,function($scope){
  9. $scope.myHtml=‘I am an <code>HTML</code>string with‘+‘<a href="#">links!</a> and other <em>stuff</em>‘;
  10. }]);
  11. </script>


(4)ng-include 加载外部html页面

[html]

  1. <div ng-include="‘index.html‘"></div>

6.ng-init/ng-mode/ng-model-options/ng-controller

(1)ng-init 初始化数据

(2)ng-model 绑定到input,select,textarea的值

(3)ng-model-options 控制双向事件绑定的时候,触发事件的方式

(4)ng-controller 绑定控制器

时间: 2024-10-10 15:39:56

AngularJS 事件指令/input相关指令/样式指令/DOM操作指令详解的相关文章

Angularjs 事件指令 input 相关指令 和样式指令 DOM 操作指令详解

Angularjs 事件指令 input 相关指令 和样式指令DOM 操作指令详解学习要点:1. AngularJs 事件指令2. input 相关指令3. 样式指令4. DOM 操作指令5. ngBind/ngBindHtml/ngBindTemplate 重点6. ng-init ng-mode ng-model-options ng-controler 1. Angularjs 事件指令自己研究:ng-click/dbclickng-mousedown/upng-mouseenter/le

Android之TextView的样式类Span的使用详解

Android中的TextView是个显示文字的的UI类,在现实中的需求中,文字有各式各样的样式,TextView本身没有属性去设置实现,我们可以通过Android提供的 SpannableString类封装.Android提供了很多的Span的类去实现样式,这个样式都是继承自CharacterStyle类. 要想理解Span的具体使用,那肯定得了解SPan类群的构成,研究代码继承结构,深入的了解.理解,才能更好的使用它.我们来统计一下,最前端的可用功能的SPAN有:URLSpan.Clicka

【REACT NATIVE 系列教程之一】触摸事件的两种形式与四种TOUCHABLE组件详解

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/react-native/2203.html 本文是RN(React Native)系列教程第一篇,当然也要给自己的群做个广告:   React Native @Himi :126100395  刚创建的群,欢迎一起学习.讨论.进步. 本文主要讲解两点: 1.   PanResponder:触摸事件,用以获取用户手指所在屏幕的坐标(x,y)或触

jQuery事件绑定on()、bind()、live()与delegate() 方法详解

jQuery事件绑定有四个方法,对应为on,off,bind,unbind,delegate,undelegate,live,die 比较和联系: 1.bind()函数只能针对已经存在的元素进行事件的设置:但是live(),on(),delegate()均支持未来新添加元素的事件设置: 2.bind()函数在jquery1.7版本以前比较受推崇,1.7版本出来之后,官方已经不推荐用bind(),替代函数为on(),这也是1.7版本新添加的函数,同样,可以 用来代替live()函数,live()函

Android异常与性能优化相关面试问题-ANR异常面试问题详解

什么是ANR? Application Not Responding 造成ANR的主要原因: 应用程序的响应性是由ActivityManager和WindowManager系统服务监视的,当监视到在Activity中主线程点击超过5秒木有响应或者是在广播UI线程里超过10秒木有响应则会导致ANR.下面具体列举一下: 主线程被I/O操作(从4.0之后网络IO不允许在主线程中)阻塞. 主线程中存在耗时的计算. 造成ANR的主要原因:Android中哪些操作是在主线程呢? Activity的所有生命周

以太坊虚拟机介绍5-比较操作指令

以太坊虚拟机比较操作指令 EVM定义了6条比较操作指令,见下表: 下面是比较操作指令的操作码分布图: LT.GT.SLT.SGT.EQ这5条指令都是从栈顶弹出两个元素,进行比较,然后把结果(1表示true,0表示false)推入栈顶.其中LT和GT把弹出的元素解释为无符号整数进行比较,SLT和SGT把弹出的元素解释为有符号数进行比较,EQ不关心符号.以LT指令为例,下面是它的操作示意图: ISZERO ISZERO指令从栈顶弹出一个元素,判断它是否为0,如果是,则把1推入栈顶,否则把0推入栈顶.

汇编实现: C库常见函数,串操作指令作用

目录 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 汇编实现: C库常见函数 一丶汇编实现Strncpy拷贝函数 void __asmStrncpy(char *des,char *src,int len) { __asm { mov edi,[ebp + 8]; //获取局部变量地址 des mov esi,[ebp + 0xc]; //获取局部变量地址 src mov ecx,len; //使用movs指令,需要给ecx长度 cld //设置DF = 0; 内存方向, 此时e

CSS样式表继承详解

最近在恶补css样式表的基础知识.上次研究了css样式表之冲突问题详解 .这次是对 css 继承 特性的学习. 什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始.文档树由HTML元素组成. 文档树和家族树类似,也有祖先.后代.父亲.孩子和兄弟^_^.这很容易理解吧,笔者在这里就不一一赘述了.希望深入了解的朋友请google之. 那么CSS样式表继承指的是,特定的CSS属性向下传递到子孙元素. 下面举个例子,有如下html代码片段: <p>CSS样式表<

事件冒泡及事件委托的理解(JQuery Dom操作)

jQuery事件冒泡: click mouseenter 等事件没有绑定 也会触发,只是触发后没有任何结果 子元素触发事件后,会把触发事件传递给父元素,那么父元素也会被触发. 不管有没有绑定事件,都会触发事件,只是没有结果,事件冒泡传递还是会发生 系统自动产生的event事件对象 function传的第一个参数就是event事件对象 1 event.stopPropagation(); // 阻止事件冒泡 2 event.preventDefault() // 阻止默认行为 比如submit阻止