【Angularjs文档翻译及实例】DOM事件

把Angularjs当中涉及DOM事件的属性整理一下,此文档是基于1.4.8英文文档整理的。

约定: 此文中ngXxx表示ng-xxx属性名。

###ngBlur

用法

<window, input, select, textarea, a
  ng-blur="expression">
...
</window, input, select, textarea, a>

参数

参数|类型|详情| :--|:--|:--| ngBlur|expression|表达式将在失去焦点时被触发(事件对象与$event一样可获得)|

###ngFocus

用法

<window, input, select, textarea, a
  ng-focus="expression">
...
</window, input, select, textarea, a>

参数

参数|类型|详情| :--|:--|:--| ngFocus|expression|表达在获得焦点时被触发(事件对象与$event一样可获得)|

###ngChange

用法

<input
  ng-change="expression">
...
</input>

参数

参数|类型|详情| :--|:--|:--| ngChange|expression|表达式将在input控件被改变时触发|

###ngChecked

用法

<INPUT
  ng-checked="expression">
...
</INPUT>

参数

参数|类型|详情| :--|:--|:--| ngChecked|expression|如果表达式为真,那么就会在元素上设置checked属性|

###ngClick

用法

<ANY
  ng-click="expression">
...
</ANY>

参数

参数|类型|详情| :--|:--|:--| ngClick|expression|当被点击的时候触发表达式(事件对象与$event一样可获得)|

###ngKeydown/ngKeypress/ngKeyup

用法

<ANY
  ng-keydown="expression">
...
</ANY>
<ANY
  ng-keypress="expression">
...
</ANY>
<ANY
  ng-keyup="expression">
...
</ANY>

参数

参数|类型|详情| :--|:--|:--| ngKeydown|expression|表达式在按键按下时被触发(事件对象与$event一样可获得,并且可以查询keyCode, altKey等)| ngKeypress|expression|表达式在按键按下时被触发(事件对象与$event一样可获得,并且可以查询keyCode, altKey等)| ngKeyup|expression|表达式在按键释放时被触发(事件对象与$event一样可获得,并且可以查询keyCode, altKey等)|

###ngMousedown/ngMouseup

用法

<ANY
  ng-mousedown="expression">
...
</ANY>
<ANY
  ng-mouseup="expression">
...
</ANY>

参数

参数|类型|详情| :--|:--|:--| ngMousedown|expression|表达式在鼠标按下时被触发(事件对象与$event一样可获得)| ngMouseup|expression|表达式在鼠标释放时被触发(事件对象与$event一样可获得)|

###ngMouseenter/ngMousemove

用法

<ANY
  ng-mouseenter="expression">
...
</ANY>
<ANY
  ng-mousemove="expression">
...
</ANY>

参数

参数|类型|详情| :--|:--|:--| ngMouseenter|expression|表达式在鼠标进入元素时被触发(事件对象与$event一样可获得)| ngMousemove|expression|表达式在鼠标在元素上移动时被触发(事件对象与$event一样可获得)|

###ngMouseover/ngMouseleave

用法

<ANY
  ng-mouseover="expression">
...
</ANY>
<ANY
  ng-mouseleave="expression">
...
</ANY>

参数

参数|类型|详情| :--|:--|:--| ngMouseover|expression|表达式在鼠标穿过元素时被触发(事件对象与$event一样可获得)| ngMouseleave|expression|表达式在鼠标离开时被触发(事件对象与$event一样可获得)|

###ngSelected

用法

<OPTION
  ng-selected="expression">
...
</OPTION>

参数

参数|类型|详情| :--|:--|:--| ngSelected|expression|表达式为真时,selected属性将被设置在元素上。|

###ngSubmit

用法

<form
  ng-submit="expression">
...
</form>

参数

参数|类型|详情| :--|:--|:--| ngSubmit|expression|提交表单时,表达式被触发(事件对象与$event一样可获得)|

###综合实例

html代码

<div ng-app="myapp">
    <form name="form" ng-controller="formCtrl">
        <p>
            <input type="text" ng-model="blur" ng-blur="blur='be blured'" ng-focus="blur='got focus,click other place'" placeholder="click me" />
        </p>
        <p>
            <span ng-model="mouseEvent" ng-mouseenter="mouseEvent='mouseenter'" ng-mouseleave="mouseEvent='mouseleave'" ng-bind="mouseEvent" ng-init="mouseEvent='touch me'">touch me</span>
        </p>
        <p>
            <input type="text" ng-model="change" ng-change="changeEvent()" placeholder="change me" />
        </p>
        <p>
            msg1:{{changeStatus}},content:{{change}}
        </p>
        <p>
            <input type="button" ng-click="btnClickChangeCheckboxEvent()" value="change status of checkbox->" />
            <input type="checkbox" ng-model="checkbox" ng-checked="isStatus" />
        </p>
        <p>
            <input type="checkbox" ng-model="option" />change status of select
            <select>
                <option>A</option>
                <option ng-selected="option">B</option>
            </select>
        </p>
    </form>
</div>

js代码

angular.module('myapp', [])
    .controller('formCtrl', function($scope) {
        $scope.change = 'change me';
        $scope.changeStatus = 'no change';
        $scope.isStatus = false;
        $scope.option = false;

        $scope.changeEvent = function() {
            $scope.changeStatus = 'be changed';
        }

        $scope.btnClickChangeCheckboxEvent = function() {
            $scope.isStatus = !$scope.isStatus;
        }
    });

DEMO地址:https://jsfiddle.net/Lionney/vLkoz9d3/

如有问题,请指正。

转载于:https://my.oschina.net/limeng0403/blog/630821

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值