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隱藏實現淡出效果?
可以給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 {
// 點擊事件
}