我正在使用sublimeText3在Windows上使用hammer.min.js库执行一个带有手势的应用程序。
我从https://hammerjs.github.io/下载了hammer.min.js,将它放在我的项目文件夹中,然后调用它,但是什么也没有发生。我尝试在HTML5上使用<script type="text/javascript" src="libraries/hammer.min.js"></script>导入锤子库。我也尝试过使用"npm install --save hammerjs“来安装锤子库,但似乎都不起作用。
"HTML file: index.html"
<!DOCTYPE html>
<!DOCTYPE html>
<html>
<head>
<title>Prueba de Apps Web</title>
<link rel="stylesheet" type="text/css" href="screen.css" />
</head>
<body>
<div id="panelGestos"></div>
<hl id ='info'> gesto ! </hl>
<script type="text/javascript" src="gestos.js"></script>
<script type="text/javascript" src="libraries/hammer.min.js"></script>
</body>
</html>"CSS file: screen.css"
body{
background: lightblue;
}
#panelGestos {
background: darkgreen;
height: 300px;
text-align: center;
font: 30px/300px Helvetica, Arial, sans-serif;
}
#info{
color: black;
font-size: 2em;
margin-top: 10px;
text-transform: uppercase;
}"JS file: gestos.js"
var panelGestos = document.getElementById('panelGestos');
// create a simple instance
// by default, it only adds horizontal recognizers
var hammertime = new Hammer(panelGestos);
// listen to events...
hammertime.on('tap doubletap pan swipe press pinch rotate', function (ev) {
document.querySelector('#info').innerHTML = ev.type + '!';
hammertime.on("panleft panright tap press", function (ev) {
panelGestos.textContent = ev.type +" gesture detected.";
});使用锤子库,我想得到消息“检测到左转手势”、“检测到右转手势”、“检测到轻击手势”。或“检测到按下手势”。
发布于 2019-06-17 12:56:27
由于您在gestos.js中使用Hammer,因此需要确保hammer.min.js在gestos.js之前加载了first。交换脚本文件的顺序:
你有
<script type="text/javascript" src="gestos.js"></script>
<script type="text/javascript" src="libraries/hammer.min.js"></script>当它应该是:
<script type="text/javascript" src="libraries/hammer.min.js"></script>
<script type="text/javascript" src="gestos.js"></script>或者,您可以将代码包装在gestos.js中的窗口加载事件的回调中。
顺便说一句,当你遇到问题时,你真的应该检查一下控制台,因为它可能会显示一些信息,比如"Hammer is not defined“。
发布于 2019-06-17 12:57:11
我想你必须等到hammer.min.js加载完成。您正在尝试从gestos.js调用new Hammer(panelGestos),它似乎是在hammer.min.js完全加载之前运行的。
发布于 2019-06-18 14:16:47
在最开始的时候,感谢你的回复。我遵循了你的建议,在尝试了其他东西后,它对我起作用了。首先,我从https://github.com/hammerjs/hammer.js/tree/master/和https://hammerjs.github.io/下载了hammer库,并按照Joshua的提示导入它们(一次一个)以使用所有的库函数。我不知道为什么,但从这些链接看起来这是一个库的问题。然后,我尝试了使用锤子web库的<script src="https://hammerjs.github.io/dist/hammer.js"></script>,这就是全部!这对我很管用。很抱歉做了大量的解释,但我希望它也能对任何人有所帮助。
https://stackoverflow.com/questions/56624837
复制相似问题