zoukankan      html  css  js  c++  java
  • angularjs的touch事件

    angularJs没有touch事件.这里提供一个touch指令.

    ngTouch.js

    "use strict";
    
    angular.module("ngTouch", [])
    .directive("ngTouchstart", function () {
      return {
        controller: function ($scope, $element, $attrs) {
          $element.bind('touchstart', onTouchStart);
          
          function onTouchStart(event) {
            var method = $element.attr('ng-touchstart');
            $scope.$event = event;
            $scope.$apply(method);
          };
        }
      };
    }).directive("ngTouchmove", function () {
      return {
        controller: function ($scope, $element, $attrs) {
          $element.bind('touchstart', onTouchStart);
          
          function onTouchStart(event) {
            event.preventDefault();
            $element.bind('touchmove', onTouchMove);
            $element.bind('touchend', onTouchEnd);
          };
          
          function onTouchMove(event) {
              var method = $element.attr('ng-touchmove');
              $scope.$event = event;
              $scope.$apply(method);
          };
          
          function onTouchEnd(event) {
            event.preventDefault();
            $element.unbind('touchmove', onTouchMove);
            $element.unbind('touchend', onTouchEnd);
          };
        }
      };
    }).directive("ngTouchend", function () {
      return {
        controller: function ($scope, $element, $attrs) {
          $element.bind('touchend', onTouchEnd);
          
          function onTouchEnd(event) {
            var method = $element.attr('ng-touchend');
            $scope.$event = event;
            $scope.$apply(method);
          };
        }
      };
    });
    View Code

    使用:

    <!DOCTYPE html>
    <html ng-app="app">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
            <title>angular的touch事件</title>
            <script type="text/javascript" src="../../js/angular.min-1.4.3.js"></script>
            <script type="text/javascript" src="../../js/ngTouch.js" ></script>
            <script type="text/javascript">
                var app=angular.module("app",["ngTouch"]);
                app.controller("touchCtrl",function($scope){
                    $scope.touchStart=function(){
                        alert("touchStart");
                    }
                    $scope.touchMove=function(){
                        console.log("touchMove");
                    }
                    $scope.touchEnd=function(){
                        alert("touchEnd");
                    }
                });
            </script>
        </head>
        <body>
            <div ng-controller="touchCtrl">
                <button ng-touchstart="touchStart()">touchStart</button>
                <button ng-touchmove="touchMove()">touchMove</button>
                <button ng-touchend="touchEnd()">touchEnd</button>
            </div>
            
        </body>
    </html>
  • 相关阅读:
    mysql 用户管理 权限控制
    微信开发--自动回复图片
    MySQL要导出成excel的方法
    mysql 和excel相互转换
    MYSQL 函数复习
    查找算法
    PySpider的安装
    在Windows下安装scrapy
    chromedriver安装
    Sublime Text 3中配置Python3的开发环境
  • 原文地址:https://www.cnblogs.com/guoyansi19900907/p/5217292.html
Copyright © 2011-2022 走看看