2017-05-09 18 views
0

HTMLがDOM内にある場合は正常に動作します。しかし、私はAJAX-modal(偉大なポップアップ)を持っていて、スクリプトが動作しません。モーダル内で動作しない場合

クラス「ノータッチ」は削除されません。モーダル内でも動作するように変更する必要がありますか?

$(document).ready(function() { 
 
    win_w = $(window).width(); 
 
    win_h = $(window).height(); 
 
    if (/Mobi/i.test(navigator.userAgent)) { 
 
    $(".mgu-profil-selection__food5, .mgu-profil-selection__food6").removeClass("no-touch"); 
 
    } 
 
})

+0

DOMが完全にロードされた後にモーダルがレンダリングされているので、要素を探す必要があります... i.test()とは( '/ M obi/i.test(navigator.userAgent) ')が返されますか?テストはどのように行われていますか?ありがとう。 –

答えて

1

あなたのコードは唯一のページロードで実行され、また、あなたはmagnificポップアップへのコールバックを割り当てることができますAJAXリクエスト

後にこれを実行する必要があります(docsを参照)

function check() { 
    win_w = $(window).width(); 
    win_h = $(window).height(); 

    if (/Mobi/i.test(navigator.userAgent)) { 
    $(".mgu-profil-selection__food5, .mgu-profil-selection__food6").removeClass("no-touch"); 
    } 
} 

$(document).ready(function() { 
    check(); 
}) 


$('.image-link').magnificPopup({ 
    type: 'image', 
    callbacks: { 
    ajaxContentAdded: function() { 
     // Ajax content is loaded and appended to DOM 
     // run check function again 
     check(); 
    } 
    } 
}); 
+0

関数はロードされていますが、完璧ですが、クラスはそうではありません。試しました '.mgu-modal.mgu-profil-selection__food5' –

関連する問題