2015-08-28 101 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() 
相關問題