在 JavaScript 中检测手指滑动事件

简介: 在 JavaScript 中检测手指滑动事件

[在 JavaScript 中使用 jquery.mobile 检测滑动事件]

jquery.mobile 是一个基于 HTML5 的 UI(用户界面),用于开发响应式 Web 应用程序。

HTML 代码:

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-
                1.4.5.min.css">
        <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
        <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js">
        </script>
    </head>
    <body>
        <div data-role="page" id="page_one">
            <div data-role="header">
                <h1>The Swipe Event</h1>
            </div>
            <div data-role="main" class="ui-content">
                <p style="border:1px solid black;margin:5px; padding: 20px;">
                    Swipe me within the border!
                </p>
            </div>
            <div data-role="footer">
                <h1>Footer Text</h1>
            </div>
        </div>
    </body>
</html>

JavaScript 代码:

$(document).on("pagecreate","#page_one",function(){
    $("p").on("swipeleft",function(){
        alert("You swiped left!");
    });
    $("p").on("swiperight",function(){
        alert("You swiped right!");
    });
});

输出:

如你所见,如果用户在段落内但在边界内向左或向右滑动,我们会检测到 swiperightswipeleft 事件。

[在 JavaScript 中使用 swipe-listener 检测滑动事件]

swipe-listener 库让网络应用程序监听滑动手势。每当调用 DOM 元素时,该库纯粹检测 swipe 事件并通过 directions 对象检查方向。

HTML 代码:

<!DOCTYPE html>
<html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-            1.4.5.min.css">
        <script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
        <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js">
        </script>
        <script src="https://unpkg.com/swipe-listener@1.2.0/dist/swipe-listener.min.js"             type="text/javascript"></script>
    </head>
    <body>
        <div data-role="page" id="page_one">
            <div data-role="header">
                <h1>The Swipe Event</h1>
            </div>
            <div data-role="main" class="ui-content">
               <p style="border:1px solid black;margin:5px; padding: 20px;">
                    Swipe me within the border!
                </p>
            </div>
            <div data-role="footer">
                <h1>Footer Text</h1>
            </div>
        </div>
    </body>
</html>

JavaScript 代码:

var container = document.querySelector('p');
var listener = SwipeListener(container);
container.addEventListener('swipe', function (e){
    console.log(e.detail);
});

输出:

在这个输出中,我们得到了许多有用的属性,例如,directions 对象,它告诉你在哪个方向上滑动。

相关文章
|
3天前
|
JavaScript 前端开发
js开发:请解释事件冒泡和事件捕获。
JavaScript中的事件处理有冒泡和捕获两种方式。事件冒泡是从子元素向上级元素传递,而事件捕获则从外层元素向内层传递。`addEventListener`的第三个参数可设定事件模式,`false`或不设为冒泡,`true`为捕获。示例代码展示了如何设置。
24 2
|
2天前
|
消息中间件 存储 设计模式
JavaScript发布订阅模式:实现事件驱动编程!
JavaScript发布订阅模式:实现事件驱动编程!
|
2天前
|
设计模式 存储 消息中间件
JavaScript观察者模式:实现对象间的事件通信!
JavaScript观察者模式:实现对象间的事件通信!
|
3天前
|
JavaScript 前端开发 算法
在JavaScript中实现的基本AABB矩形碰撞检测用于2D游戏
【5月更文挑战第14天】在JavaScript中实现的基本AABB矩形碰撞检测用于2D游戏,涉及Rectangle类,包含x,y,width和height属性,以及一个检测碰撞的collidesWith方法。该方法通过比较矩形边界来判断是否相交,返回布尔结果。示例代码展示了如何检测两个Rectangle实例是否发生碰撞。更复杂的场景可能需使用高级算法或物理引擎库。
12 3
|
3天前
|
JavaScript 前端开发 开发者
javascript事件大全
javascript事件大全
13 1
|
3天前
|
JavaScript 前端开发
Javascript的一些监听事件
Javascript的一些监听事件
12 2
|
3天前
|
JavaScript 前端开发
js的事件介绍
js的事件介绍
16 1
|
3天前
|
JavaScript 前端开发
js的事件
js的事件
15 1
|
3天前
|
JavaScript 前端开发
js的交互事件
js的交互事件
15 1
|
3天前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?