2012-09-07 79 views
1

我有一個模式對話框,當有人用下面的功能點擊疊加層時它會關閉,它可以在除iPad和iPhone Safari之外的所有瀏覽器上運行。iPad jquery live('click')問題

$(".ui-widget-overlay").live('click', function() { 
//mycode to close modal dialog 
}); 

我試過$(「.ui-widget-overlay」)。click但那不起作用。

存在與不工作在iPad上直播功能的問題,如果有該元素jQuery live event on iPad...why doesn't it work?

所以,我想活函數之前添加的屬性,它仍然無法正常工作無onclick屬性。這是我在做什麼:

$(".ui-widget-overlay").attr('onclick', ''); 
$(".ui-widget-overlay").live('click', function() { 
//mycode to close modal dialog 
}); 

有沒有人找到解決方案?

+0

你確定'click'甚至被觸發? iPad上有tap-events系列。 – zerkms

+0

我試過這個,但它仍然沒有工作: $(「。ui-widget-overlay」)。bind('tap',onclick); –

+1

我沒有說有名爲「tap」的事件,但有'touchstart'。你也許需要看看jQuery的手機 – zerkms

回答

0
$j(".telephonePopup").dialog({ 
    open: function (event) { 
     $j('.ui-widget-overlay').live("touchstart click", function() { 
      $j(".telephonePopup").dialog("close"); 
      return false; 
     }); 

        // if you want also to stop scrolling while popup is displayed 
     document.ontouchmove = function(e){ 
      e.preventDefault(); 
     } 
    }, 
    close: function (event) { 
     $j('html').removeClass('stop-scrolling'); 
     document.ontouchmove = null; 
    },