我正在尝试使用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会更容易,但遗憾的是它不是一个选项。
答案 0 :(得分:1)
zepto对你来说是个不错的选择。它的触摸模块提供了良好的事件处理程序
或者您可以查看zepto touch
的源代码答案 1 :(得分:0)
我抓住了你的漂移,但我不认为它在网络浏览器中是一个很好的解决方案。 例如,在Android上,当您长时间在网页上打印内容时,您已经获得了弹出窗口。 你必须阻止该事件处理程序,但这意味着你将成为原生的。