我正在尝试设置一个事件以使用 touchstart 和 touchend 显示一些共享选项。这是本机应用程序中的一个非常标准的功能,但我在移动网络上没有看到太多。该事件将允许用户点击网站的主要内容区域,如果点击时间超过 1 秒,则会在屏幕上滑动一个选项框,显示用于共享页面内容的选项。
下面的函数适用于第一个事件,但如果用户多次触发该事件,它会在没有 1 秒触发事件的要求下触发。
任何人都可以提出更好的方法或看看为什么计时器每次都不起作用?
if ( typeof ontouchstart != 'undefined' && typeof ontouchend != 'undefined' ) {
var touchStartOrClick = 'touchstart', touchEndOrClick = 'touchend';
} else {
var touchStartOrClick = 'click', touchEndOrClick = 'click';
};
function shareTog(){
$('.sharing-pop').animate({width: 'toggle'});
}
var touchTrigger;
$('#content').bind(touchStartOrClick, function(){
setInterval(function(){
touchTrigger = true;
}, 1000);
}).bind(touchEndOrClick, function(){
window.clearInterval();
if(touchTrigger == true){
shareTog();
touchTrigger = false;
}
});
我知道使用 jQuery Mobile 会更容易做到这一点,但不幸的是这不是一个选择。