由于某种原因,我的触发功能(即使被调用一次)多次运行触发器。
input.sort_by.with_index do |piece, index|
index%3
end
&#34>点击&#34>会发生什么?当" touch"触发一次触发一次时,函数会多次运行功能
任何方式,我可以强制它运行一次?
感谢。
答案 0 :(得分:1)
click
会被触发,无论您是否在touchstart
上触发它。所以,因为你在touchstart上触发它,它会触发两次。你可以这样做:
此处示例:JS Fiddle
$('.video-section ul li a').on('click touchstart', function(e){
e.preventDefault();
if(e.type == "touchstart") {
console.log("touchstart event");
// whatever else on touch event
} else if(e.type == "click") {
console.log("click event");
// whatever else on click event
}
});
答案 1 :(得分:1)
您可能希望$(this).click();
代替$('.video-section ul li a').trigger('click');
,因为前者只会触发点击touchstart
事件触发的元素。后者将触发与选择器匹配的每个元素的单击。