2013-03-11 52 views
0

我有這一切設置的方式,我只想找到當我使用的iPad我必須觸摸兩次鏈接激活它。擺脫在iPad上的雙擊

jQuery(document).ready(function() { 
    jQuery('.normal-model').live('mouseover', function() { 
     jQuery(this).find('.desc-box').fadeIn('slow'); 
     var videoid = jQuery(this).find('.model-video a').attr('id'); 
     var viddestin = jQuery(this).find('.model-video'); 
     var postoi = jQuery(this).find('.model-video iframe'); 
     if (postoi.length == 0) { 
      if (videoid != '' || videoid != ' ') { 
       var genifr = '<iframe src="http://www.youtube.com/embed/' + videoid + '?autoplay=1" frameborder="0" width="230" height="150"></iframe>'; 
      } 
      jQuery(genifr).appendTo(viddestin); 
     } 
    }); 
    jQuery('.normal-model').live('mouseleave', function() { 
     jQuery(this).find('.desc-box').fadeOut('slow'); 
     jQuery(this).find('.model-video iframe').remove(); 
    }); 
}); 

如何讓它只在iPad上點擊一次?

+4

將所有代碼放在一行時很難遵循此代碼。如果代碼分散在多行中,此問題獲得較好答案的機會要高得多 – JaredPar 2013-03-11 15:29:05

回答

1

iPad沒有mouseovermouseleave事件。嘗試除了你mouse事件使用touchstarttouchend(或只是touch)(也知道.live是贊成不贊成.on):

jQuery('.normal-model').on('mouseover touch', function() { 

// ... 

jQuery('.normal-model').on('mouseleave touch', function() { 
+0

Awsome!感謝編輯和解決我的問題!將.live更改爲.on,並添加了「touchstart」,並且非常完美! – 2013-03-11 16:43:22

1

你要綁定一個鼠標懸停事件的元素。由於觸摸設備沒有定期的懸停事件,因此他們通過確保點擊某個元素時將其作爲懸停事件來解決此問題。第二次點擊(doubleclick)激活正常的點擊事件。

Tldr;如果您想在iPad上提供良好的體驗,請不要將懸停事件用於此類導航。只需將綁定更改爲單擊事件即可。