移动定时触摸事件

时间:2012-09-04 16:42:42

标签: javascript jquery html css mobile

我正在尝试使用touchstart& amp设置一个事件来显示一些共享选项。 touchend。这是本机应用程序中非常标准的功能,但我在移动网络上没有看到太多。该活动将允许用户点击网站的主要内容区域,点击时间超过1秒,然后选项框将在屏幕上滑动,显示共享页面内容的选项。

下面的函数适用于第一个事件,但是如果用户触发事件而不是onces,则触发事件时不会触发事件。

有人可以提出更好的方法,或者看看为什么计时器每次都不起作用?

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会更容易,但遗憾的是它不是一个选项。

2 个答案:

答案 0 :(得分:1)

zepto对你来说是个不错的选择。它的触摸模块提供了良好的事件处理程序

或者您可以查看zepto touch

的源代码

答案 1 :(得分:0)

我抓住了你的漂移,但我不认为它在网络浏览器中是一个很好的解决方案。 例如,在Android上,当您长时间在网页上打印内容时,您已经获得了弹出窗口。 你必须阻止该事件处理程序,但这意味着你将成为原生的。