《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.9 技巧:监听Mobile事件

9.9 技巧:监听Mobile事件

第4章解释了如何在Web浏览器中捕获标准的事件。Mobile设备使用的是“触摸手势”(touch gesture)而不是鼠标移动。jQuery Mobile对此进行了抽象。代码清单9-10演示了如何捕获一组挑选出来的典型的Mobile事件:轻击(tapping)、滑动(swiping)、方向变化(orientation change)以及页面变化(page change)。其他的Mobile事件随后会讨论。

代码清单9-10 捕获滑动、方向变化及更多事件

00 <!DOCTYPE html>
01 <html>
02 <head>
03  <title>Events</title>
04  <meta name="viewport"
05    content="width=device-width, initial-scale=1">
06  <link rel="stylesheet" href=
07    "http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.css">
08  <script type="text/javascript"
09    src="http://code.jquery.com/jquery-1.7.1.min.js">
10  </script>
11  <script type="text/javascript" src=
12    "http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js">
13  </script>
14 <script>
15 $(document).ready(function() {
16
17 $.each(('tap taphold swipe swipeleft swiperight ' +
18  'orientationchange scrollstart scrollstop pageshow ' +
19  'pagehide').split(' '),
20   function( i, name ) {
21
22  $(document).on(name, function(event) {
23    $('#status').append('target = ' + event.target + ' ' +
24                 'type = ' + event.type + ' <br>');
25    });
26  });
27 });
28 </script>
29
30 </head>
31 <body>
32
33 <div data-role="page">
34
35  <div data-role="header">
36   <h1>Events</h1>
37  </div>
38
39  <div data-role="content"> 
40   <p><a href="04b-link.html">Link to an external file</a></p> 
41  <p><a href="04b-link.html" data-prefetch>Prefetch the
42   external file</a></p>
43  <p id="status">
44  </div>
45 
46 </div>
47
48 </body>
49 </html>

运行这个示例时,你可以看到事件的行为及它们的处理程序。旋转你的设备,轻击、旋转并且向各个方向滑动,看看会发生什么。

表9-1列出了jQuery Mobile可以使用的事件。




第16~19行只包含了所有这些事件的一个选集。演示的事件是针对典型的移动端的用户交互。你可以使用表格中的其他事件来替换这些事件来学习一下jQuery事件机制的其他部分(如页面加载周期)。使用虚拟的鼠标事件,你可以微调对触摸和鼠标驱动设备的应用程序的控制。当设备使用了鼠标时,jQuery Mobile会自动构建正确的监听程序来处理该设备。当使用的是触摸设备时,事件会转换成触摸事件,顺序和鼠标驱动的事件一样。触摸和单击事件的信息是标准化的,这样触摸和单击就会返回相同的坐标数值。当使用虚拟的鼠标事件时,你可能想避免使用vclick事件。在基于WebKit的移动端浏览器上,这会导致300毫秒的延迟,这不但对用户来说显得“迟钝”,而且事实上会导致像“双击”一样的行为。

时间: 2024-09-14 22:24:22

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.9 技巧:监听Mobile事件的相关文章

两种js监听滚轮事件的实现方法_javascript技巧

前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = function() {//为了保证兼容性,这里取两个值,哪个有值取哪一个 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //scrollTop就是触发滚轮事件时滚轮的高度 } 二.Jquery通过$(

JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)_javascript技巧

jQuery获取Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发 2. var checkText=$("#select_id").find("option:selected").text();  //获取Select选择的Text 3. var checkValue=$("#se

js监听鼠标事件控制textarea输入字符串的个数_javascript技巧

[Html代码] <table> <tr> <td width="150">短信内容:</td> <td> <textarea name="message" cols="96" rows="5" onKeyDown="textCounter(message,remLen,65);" onKeyUp="textCounter(mess

JS和Jquery获取和修改label的值的示例代码_javascript技巧

获取值: label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 复制代码 代码如下: var label=document.getElementById("id"); var value=label.value; var value=$("#id").val(); 可以这样: JS: 复制代码 代码如下: var label=document.getElementById("id"); var value=label

asp.net使用jQuery获取RadioButtonList成员选中内容和值示例_实用技巧

复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web.Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o

js事件监听机制(事件捕获)总结_javascript技巧

在前端开发过程中我们经常会遇到给页面元素添加事件的问题,添加事件的js方法也很多,有直接加到页面结构上的,有使用一些js事件监听的方法,由于各个浏览器对事件冒泡事件监听的机制不同,le浏览器只有事件冒泡,没有事件监听的机制,对于事件监听的兼容性问题是最大的难题: 1.直接把事件的方法写在页面结构上 function eventfun(){ //console.log(this); } <input type="button" onclick="eventfun()&qu

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.8 技巧:使用滑块微件获取数字

7.8 技巧:使用滑块微件获取数字 在客户端应用程序中,你有时会发现滑块用做输入数字的元素.滑块的优点是,它比数字输入框更可视化和更直观. 代码清单7-8展示了如何将div改成滑块(slider)微件. 代码清单7-8 将 元素转换为滑块并显示其值 00 <!DOCTYPE html> 01 02 <html lang="en"> 03 <head> 04 <title>jQuery UI Slider</title> 05

js和jquery实现监听键盘事件示例代码_javascript技巧

项目中要监听键盘组合键CTRL+C,以便做出对应的响应.查了一些方法但是其兼容性和稳定性不是很高,最终得到如下方法,经测试在Firfox.Chrome.IE中均可以使用.一.使用javascript实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script> function keyListener(ev

移动-jQuery 滚动条事件监听

问题描述 jQuery 滚动条事件监听 $(window).scroll(function() { var a = $(this).scrollTop() ;//现在滚动条距离顶端的距离 if (a >= c[c.length - 1]) {//c数组里面每个元素是该元素距离顶端的距离 $(""#oc"").html(cc[c.length - 1]);//oc是一个浮动条 具体参考移动端 12306城市往返选择上面的每一组城市的拼音A.B.C.D.... /