如何让hammer.js在不使用jquery的情况下与svg文件一起工作
How to get hammer.js to work with svg files without using jquery?
我试图实现锤子.js与svg文件,而不使用任何jquery。我试图使用样例代码从锤.js网站{https://github.com/EightMedia/hammer.js/wiki/Getting-Started}。我有外部的javascript调用像这样。
<script src="javascript/hammer.js" type="text/javascript"></script>
我的javascript代码如下:
<script type="text/javascript">
//<![CDATA[
var element = document.getElementById("testsvg");
var hammertime = Hammer(element).on('doubletap', function(event){
alert("doubletap!");
return false;
}
);
//]]>
</script>
我的svg如下所示:
<svg version="1.1" id="testsvg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="585px" height="230" viewBox="0 0 585 230" enable-background="new 0 0 585 230" xml:space="preserve">
<rect x="10" y="10" height="210" width="565" style="stroke:#006600; fill: #00cc00"/>
</svg>
一开始,我只是想让任何检测工作。我双击时没有任何提示。我还试图在我的桌面上使用hammer.fakemultitouch.js插件来实现这一点。桌面环境和触摸环境都做不到任何事情。有人知道我做错了什么吗?
谢谢,——克里斯多夫
首先确保hammer.js
正确加载。如果是,那么很可能是在加载DOM之前执行javascript。最简单的方法来解决这个问题是把你的<script>
前关闭</body>
标签(接近你的html文件的底部)。您还可以将代码包装在加载事件函数中,例如…
window.onload = function(){
var element = document.getElementById("testsvg");
var hammertime = Hammer(element).on('doubletap', function(event){
alert("doubletap!");
return false;
});
}
相关文章:
- 如何在未直接触发的情况下停止事件
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 在不使用jquery的情况下查找页面中的所有锚点并附加函数
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- 在不阻止默认行为的情况下检测IE10中的缩放
- 如何在不传递此信息的情况下查找被调用的元素
- 如何在不刷新页面的情况下更新显示框
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
- 是否可以在不创建svg对象的情况下创建捕捉元素?[snap.svg]
- 更改svg元素只在某些情况下有效
- 在没有DOM附加的情况下将多个SVG加载到javascript数组中
- 如何在不看到“闪烁”的情况下更新 SVG 图像
- 更改半径值时 SVG 进度不起作用.如何在不同大小的情况下使用此进度
- 如何在不附加“svg”对象的情况下创建它
- 是否可以在不使用笔划的情况下设置SVG路径的动画
- 如何在不丢失结构的情况下遍历SVG中的所有元素
- 如何在没有异物的情况下设置svg文本tspan的背景颜色
- 如何让hammer.js在不使用jquery的情况下与svg文件一起工作
- 在不使用边界框的情况下获取svg路径的尺寸