【问题标题】:How to implement swipe-listener?如何实现滑动监听器?
【发布时间】:2019-12-25 08:55:56
【问题描述】:

我知道这是非常基本的。我想在我的html代码中实现这个swipe-listener package

这是自述文件中的示例代码:

const SwipeListener = require('swipe-listener');

var container = document.querySelector('#container');
var listener = SwipeListener(container);
container.addEventListener('swipe', function (e) {
  var directions = e.detail.directions;
  var x = e.detail.x;
  var y = e.detail.y;

  if (directions.left) {
    console.log('Swiped left.');
  }

  if (directions.right) {
    console.log('Swiped right.');
  }

   .
   .
   .

});

当我运行文件时,我收到“未定义文档”错误。我必须在这里指定什么?我假设我必须在“#container”中指定一个 div 元素。我有一个 iFrame,应该在其中检测到滑动。此 iFrame 具有名称和 ID。我必须使用哪一个?

此外,我需要 index.html 中的文件,如下所示。

<script>
    require('./swipeListener.js')
</script>

这是正确的方式还是我必须放

<script type="text/javascript" src="swipeListener.js"></script>

?

【问题讨论】:

标签: javascript html node.js


【解决方案1】:

正如您可以阅读here,您不能在浏览器的常规javascript 中使用require,它是来自Node.js 的函数。为了使您的示例在简单的 html 页面中可用,您必须使用第二种方法,即使用脚本标记导入库。

这可以通过下载库并将其包含在其中来完成

<script src="path/to/swipe-listener.js" type="text/javascript"></script>

或通过 CDN 包含它

<script src="https://unpkg.com/swipe-listener@latest/dist/swipe-listener.min.js" type="text/javascript"></script>

包含库后,您可以像在示例中一样使用它,但不使用该行

const SwipeListener = require('swipe-listener');

我创建了一个简约示例,您可以在此jsfiddle 中查看

【讨论】:

  • 非常感谢!你能告诉我把JS代码放在哪里吗?我将它放在一个单独的文件中,并将其作为 swipe-listener.min.js 包含在内。我将 iFrame 包装在一个名为 swipeContainer 的 div 标签中,如您的示例所示。当我滑动时,我仍然没有反应。也许我应该提一下,这是一个 Electron 应用程序。
  • 为什么你的例子可以在 jsfiddle 上运行,但如果我将相同的代码放到单独的文件中并在浏览器中测试它就不行?
  • @neolith 我无法判断它是否是电子应用程序,因为我对电子没有任何经验。关于您的第二条评论:在加载 DOM 后执行您自己的 javascript 代码很重要,因为您的代码正在尝试向 DOM 元素添加事件侦听器。作为一种快速的解决方法,这可以通过将您自己的 JavaScript 代码的脚本标记放在正文标记后面来实现。如有其他问题,请告诉您是否在浏览器控制台中看到任何错误
  • 谢谢。我同时找到了解决方案。该脚本必须插入到 div 标签内。否则它不起作用。
  • 没问题,请记住这不是一个非常干净的解决方案。最好将 script 标签放在 HTML 的头部,然后在自己的 javascript 中添加一些代码,检查 DOM 是否已加载,纯 javascript 方法是 document.addEventListener("DOMContentLoaded", function (event) { &lt;your code&gt; });
猜你喜欢
  • 2011-08-21
  • 2011-02-02
  • 2015-10-07
  • 1970-01-01
  • 1970-01-01
  • 2019-04-01
  • 2012-06-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多