javascript
  • jquery
  • 2011-07-02 13 views 5 likes 
    5

    Jak mogę wyłączyć PrettyPhoto po jej włączeniu?Wyłącz PrettyPhoto w kodzie

    $(document).ready(function() { 
        $("a[rel^='prettyPhoto']").prettyPhoto(); 
    } 
    
    $("#disablePrettyphoto").click(function (e) { 
        $("a[rel^='prettyPhoto']").KILLPRETTYPHOTO(); 
    }); 
    

    Na stronie obrazami, gdzie używam Prettyphoto, muszę zrobić kilka przeciągnij i upuść działania na tych samych obrazów. Robienie tego przy włączonej prettyPhoto nie jest miłe, ponieważ uruchamia wyskakujące okienka podczas przeciągania i upuszczania (tak jak powinno). Kiedy włączam funkcję przeciągania i upuszczania, chcę wyłączyć PrettyPhoto i włączyć ją ponownie po wyłączeniu przeciągania i upuszczania.

    +0

    Czy możesz powiedzieć nam rozwiązanie tej kwestii proszę ? – Jongosi

    Odpowiedz

    1

    Miałem również ten problem z prettyPhoto. Właściwie zacząłem używać api, aby mieć większą kontrolę nad wtyczką.

    Możesz jednak użyć polecenia unbind(), aby usunąć wszystkie procedury obsługi kliknięć, a następnie wykonaj polecenie przeciągnij/upuść, a następnie ponownie dodaj prettyPhoto. Spójrz na to pytanie (Best way to remove an event handler in jQuery?), powinno to pomóc.

    1

    Aby wyłączyć prettyPhoto, rozpiąć atrybut click:

    $("a[rel^='prettyPhoto']").unbind('click'); 
    

    potem reinicjalizacji prettyPhoto działa dobrze dla mnie.

    Jeśli nie chcesz, aby ją ponownie włączyć później, można go zniszczyć całkowicie usuwając rel atrybut:

    $("a[rel^='prettyPhoto']").attr('rel', ''); 
    

    (na podstawie this answer)

    Powiązane problemy