zoukankan      html  css  js  c++  java
  • jQuery Mobile 实现苹果滑动删除闹钟功能的几点总结

    1.jquery给动态添加的元素添加事件

      在jquery推出新版本,使用.on()以前,我们会用.live()来为动态添加的代码绑定事件,但是现在jQuery用.on()替代了.live()

    先看个.live()实例

    $("a").live("click", function () { 
      $("#111").append("ok"); 
    });

    再看一个.on()的实例

    $("body").on("click","a", function () { 
        $("#111").append("ok");
    });

    其中,.live()的用法跟1.7之前的.on()类似,而1.9的.on()方法是on(events,[selector],[data],fn) ,可以指定绑定在哪个父节点上,在后面的选择器内写上要出发的元素选择器

    live原理:

    .live()则是通过事件委托的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。和.bind()的优势是支持动态数据。

    2.event.originalEvent JQuery

      今天在使用jquery的e.pageX时,发现其获得的值一直是undefined,百度了一下,换成了e.originalEvent.pageX就好了,问题是解决了,但是不知道原因,于是在Stack Overflow上搜了一下,在这里给大家翻译一下。

      event.originalEvent是原生的js event,如果浏览器是兼容或者是在可触的设备上使用,API通常是暴漏给event.originalEvent。简单来说,event.originalEvent会根据触发时间类型和浏览器运行环境表现不一。

    举个例子:

    var files = event.dataTransfer.files; // Gives error: trying to get property of undefined
    
    var files = event.originalEvent.dataTransfer.files; // Works fine

    jquery没有封装原生event对象的一些API,就行例子中的files。所以在这种时候我们需要使用event.originalEvent。

    3.触摸事件

    三种在规范中列出并获得跨移动设备广泛实现的基本触摸事件:

    1. touchstart :手指放在一个DOM元素上。
    2. touchmove :手指拖曳一个DOM元素。
    3. touchend :手指从一个DOM元素上移开。

    每个触摸事件都包括了三个触摸列表:

    1. touches :当前位于屏幕上的所有手指的一个列表。
    2. targetTouches :位于当前DOM元素上的手指的一个列表。
    3. changedTouches :涉及当前事件的手指的一个列表。

    例如,在一个touchend事件中,这就会是移开的手指。

    这些列表由包含了触摸信息的对象组成:

    1. identifier :一个数值,唯一标识触摸会话(touch session)中的当前手指。
    2. target :DOM元素,是动作所针对的目标。
    3. 客户/页面/屏幕坐标 :动作在屏幕上发生的位置。
    4. 半径坐标和 rotationAngle :画出大约相当于手指形状的椭圆形。

  • 相关阅读:
    Linux异步IO
    基本数据类型总结--
    总结
    字典魔法二
    字典及其魔法
    元祖的魔法
    列表的特点
    运算符
    while ……else……和while……continue……和 while…………break…………
    作业---写一个程序,用户名 、密码输入错误3次 错误
  • 原文地址:https://www.cnblogs.com/shytong/p/5013179.html
Copyright © 2011-2022 走看看