我有我的手机页面上的刷卡功能,我想用touchstart,touchend和touchmove跟踪器件两端的刷卡功能,在不影响滚动。
这里是我的代码。
jQuery('.first-frame').bind('touchmove', function(event) {
_gaq.push(['_trackEvent', 'Landing-Page', 'Swipe-Toggle-Color', '0259_2190']);
});
我有我的手机页面上的刷卡功能,我想用touchstart,touchend和touchmove跟踪器件两端的刷卡功能,在不影响滚动。
这里是我的代码。
jQuery('.first-frame').bind('touchmove', function(event) {
_gaq.push(['_trackEvent', 'Landing-Page', 'Swipe-Toggle-Color', '0259_2190']);
});
如果有可能只监测swipeleft
和swiperight
在jQuery Mobile的事件,而不是,这样做。
否则,您可以设置在一个全局变量scroll
即复位后,比方说,0.2秒事件的。 然后有touchmove
事件检查如果变量设置,如果是,不会触发谷歌分析。
window.is_scrolling = false; // global variable
window.timeout_id = 0;
window.onscroll = function() {
window.is_scrolling = true;
clearTimeout(window.timeout_id);
window.timeout_id = setTimeout(function() {
window.is_scrolling = false;
}, 200); // milliseconds
};
jQuery('.first-frame').bind('touchmove', function(event) {
if (!window.is_scrolling)
_gaq.push(['_trackEvent', 'Landing-Page', 'Swipe-Toggle-Color', '0259_2190']);
});
我知道你问一个touchmove,touchend和touchstart的例子,但我会用HammerJS(组合https://github.com/EightMedia/hammer.js/ )和自定义谷歌事件拿猜测出来。
var element = $(".first-frame")[0];
var trackswipe = Hammer(element, {
drag: false,
transform: false,
swipe: true,
swipeVelocityX: 0 // Adjust to liking...
}).on("swipe", function(event) {
if (event.gesture.direction === "left") {
// Track Something
return false;
} else if (event.gesture.direction === "right") {
// Track something else.
return false;
}
return false;
});