1

ナビゲーションのドロップダウンをクリックすると表示および非表示にする次のスクリプトがあります。

これは、ユーザーがiPadを使用しているときにナビゲーションのドロップダウンを確認できるように作成しています。

スクリプトはデスクトップ上のすべてのブラウザで機能しますが、Ipadで試してみると、ドロップダウンが表示されません。

これが機能しない理由はありますか?

$("li.dropdown-control > a").click( function (event) {
    event.preventDefault()
    var nextSibling = $(this).next();
    nextSibling.toggleClass("dropped");  
    $('.dropped').not(nextSibling).removeClass('dropped');  
});
4

2 に答える 2

1

問題は、iPadのクリックイベントがデスクトップのようにトリガーされないことです。

これらのイベントのいずれかを監視する必要があります。

  • タッチスタート
  • touchmove
  • タッチエンド
  • touchcance

このコードで:

$('body').on('click touchstart','li.dropdown-control > a',function(event){
    event.preventDefault()
    var nextSibling = $(this).next();
    nextSibling.toggleClass("dropped");  
    $('.dropped').not(nextSibling).removeClass('dropped'); 
 });

これは、デスクトップとタブレットの両方で機能します。

于 2013-01-29T14:53:41.673 に答える
0

以前に同じ問題がありましたが、私はそれを回避する方法を見つけました。

これを試して:

$(document).ready(function(){

$('#clickme').click(function() {
$('#me').slideToggle(function() {
$('.showhide').text(
  $(this).is(':visible') ? "Close" : "Open"
 );
 });
});

次に、ニーズに合わせて編集します:)お役に立てば幸いです。

于 2013-01-29T14:52:07.263 に答える