2 vikeytoy vikeyToy 于 2012.11.22 10:29 提问

在iPhone中,实现tap淡出效果

jQuery代码:

setTips: function() {
            $(".tooltip").parent().hover(function(){

            TT.current = $(this);
            TT.timer = setTimeout(function(){
            TT.current.find(".tooltip").fadeIn('fast');
                }, TT.delay);
            }, function(){
                clearTimeout(TT.timer);
                $(this).find(".tooltip").fadeOut('fast');

在浏览器可以正常运行,但是移植到iPhone上之后,显示工具提示后它不能隐藏了。
有没有什么方法能让tap隐藏实现淡出效果?

1个回答

g989_1314125
g989_1314125   2012.11.22 10:58
已采纳

可以给tap上的工具提示添加一个click事件来隐藏:

$('body').on('click', function(e) {
    if ( $(e.target).hasClass('.element-that-called-tooltip') ) return; // return if the tapped element was one that called the tooltip
    $('.tooltip').fadeOut('fast');
});

补充:

问题可能是iPhone悬停引起的,所以我建议无触屏绑定悬停,触屏绑定点击,

用jsFiddle,http://jsfiddle.net/RAJ5Q/1/

if ( $('html').hasClass('no-touch') ) {
    // 绑定到悬停事件
}
else {
    // 点击事件
}
vikeyToy
vikeyToy 谢谢了!
5 年多之前 回复
g989_1314125
g989_1314125 答案更新了,你看一下
5 年多之前 回复
g989_1314125
g989_1314125 恩,,“hover-tap”遇上JavaScript有时候会有问题的,你用jsFiddle试试,
5 年多之前 回复
vikeyToy
vikeyToy 我把你的代码机上之后,在浏览器里面运行的很好,但是放到iphone中工具提示隐藏后就再找不到了
5 年多之前 回复
vikeyToy
vikeyToy 可以隐藏工具提示了,但是如果想再显示工具提示就不能显示
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!