Javascript 使用Hammer.js的编程事件触发器
我发现使用Hammer.js创建编程事件非常困难。我想要的是有两个元素,当点击元素一时,我想在第二个元素上激发、触发或发出一个事件Javascript 使用Hammer.js的编程事件触发器,javascript,html,hammer.js,Javascript,Html,Hammer.js,我发现使用Hammer.js创建编程事件非常困难。我想要的是有两个元素,当点击元素一时,我想在第二个元素上激发、触发或发出一个事件 mc1.on("tap", function(event) { console.log("MC1 Tapped"); var customEvent = JSON.parse(JSON.stringify(event)); // Creating customEvent.center.x = 999; // ...chan
mc1.on("tap", function(event) {
console.log("MC1 Tapped");
var customEvent = JSON.parse(JSON.stringify(event)); // Creating
customEvent.center.x = 999; // ...changing something
mc2.emit("tap", customEvent); // Emitting
});
我的最终目标是在拖动项目时使用此技术。基本上,按住某个元素以创建其克隆,然后在克隆上发出拖动事件。这将停止拖动原始元素,并开始拖动新的克隆元素
说到这里,我创建了一个简单的JSFIDLE。它有两个div元素。我想做的是让一号分区被点击,一个事件会自动在二号分区触发一个点击事件
var buttonOne = document.getElementById("one");
var buttonTwo = document.getElementById("two");
var mc1 = Hammer(buttonOne);
var mc2 = Hammer(buttonTwo);
mc1.on("tap", function(event) {
alert("MC1 Tapped");
console.log("MC1 Tapped");
mc2.emit("tap");
});
mc2.on("tap", function(event) {
alert("MC2 Tapped");
console.log("MC2 Tapped");
});
非常感谢您的帮助。谢谢。您应该向.emit方法添加第二个参数
mc1.on("tap", function(event) {
alert("MC1 Tapped");
console.log("MC1 Tapped");
mc2.emit("tap", event); // HERE
});
您也可以自定义事件
mc1.on("tap", function(event) {
console.log("MC1 Tapped");
var customEvent = JSON.parse(JSON.stringify(event)); // Creating
customEvent.center.x = 999; // ...changing something
mc2.emit("tap", customEvent); // Emitting
});