2015-08-28 29 views
2

我正在使用hammer.js触摸库在svg文件中的文本上运行某些操作。有没有办法让多个物件有一个锤子事件?

样品可以在http://codepen.io/cmgdesignstudios/pen/mebqeW

在我的示例可以看出,如果你点击任意盘符,就会变成蓝色;其他人变黑。以下代码为第一个字母执行此操作。

var Note1 = document.getElementById('Note1'); 
var Note1Hammer = new Hammer (Note1); 
Note1Hammer.on("tap", function(changecolor){Note1.style.fill="blue"; 
}); 

我有7个不同的字母。每个字母有7个类似的代码块。我可以使用单个锤子变量和锤子对多个对象进行声明,这样我就不必为每个对象都有一个变量了。

回答

0

最初,我一直在为每个想要使用触摸库的对象创建一个新的锤子实例。但是,我了解了锤子实例中的目标选项,该选项允许几乎任何对象在较大的对象组(例如svg文件或整个html文档的主体标签)中接收触摸识别器。

ev.target 
ev.target.id 

目标几乎可以是任何对象,如果它有一个id,可以通过target.id选项找到该id。

0

如果在初始调用后包含jQuery Plugin,则可以使用jQuery来初始化它。

hammertime = $('.note').hammer() 
相关问题