2013-12-11 155 views
0

我想在ipad上建立一個div,一旦點擊就會展開,然後在下一個點擊實際打開以填充瀏覽器窗口,我不確定如何做到這一點,這是我的代碼:jquery ipad懸停/點擊

var elems = $(".event"); 

    elems.bind("click touchstart", function(){ 

    if ($(this).hasClass("hovered")) { 

     $(this).removeClass("hovered"); 
     $(this).addClass("open"); 
     elems.not(this).addClass('closed'); 
     $(this).find('.close-btn').fadeIn(); 

    } else { 

     $(this).removeClass("hovered not-hovered"); 
     $(this).addClass("hovered"); 
     elems.not(this).addClass('not-hovered'); 

    }; 

}); 

所以基本上第一個點擊的div(.event)將擴大一點,承擔類「徘徊」,如果存在對DIV class和你點擊它應該擴大,以填補屏幕(以「打開」的課程爲例)......它似乎在我的大巴中運行,但不是在ipad上,有什麼想法?

繼承人我的dev的鏈接只是櫃面:nyeto.com - 檢查你的iPad上

+0

「懸停」 + iPad的= aaarrrrgh。即使你沒有使用真正的懸停事件,在這種情況下這個詞也沒有意義。 – Blazemonger

+0

哈哈一個虛假的懸停然後,1點擊擴大litte,2點擊打開它充滿...任何可能性呢? – user2820604

+0

你是什麼意思的「不起作用」? – Blazemonger

回答

0

的iOS觸發一個事件clicktouchstart+touchend不久,所以你的代碼可能會快速連續射擊兩次。

嘗試取消這兩個事件:

elems.bind("click touchstart", function(e){ 
    e.preventDefault(); 
    // rest of your code 

另一種方法是開槍touchstartclick事件並取消後者:

elems.bind("touchstart", function(e){ 
    e.preventDefault(); 
    $(this).trigger('click'); 
}); 
elems.bind("click", function(e) { 
    // rest of your code 
+0

第二種方法爲我工作,謝謝! – user2820604