Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    riattivare evento Wheel dopo aver usato event.preventDefault()

    Buongiorno programmatori, ho un problema, ho una funzione che serve ad aprire una modale al click sull' immagine, e voglio che quando si apre la modale sotto la pagina non scrolli con il "Wheel", fin qui tutto bene, sono riuscito, ma poi vorrei che alla chiusura della modale il wheel riprendesse normalmente e invece spunta un errore di google:
    "88[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See <URL>
    jquery.js:3 [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/6662647093133312"

    Qui di seguito il codice della funzione;

    codice:
        var image = document.getElementsByClassName("img-responsive");
        var modal = document.getElementsByClassName("modal");
        $('body').on('click', 'img', function() {
            $(document).bind("wheel", function(e) {
                e.preventDefault();
                return false;
            });
            if ($(modal).hasClass("fade")) {
    
    
                $(modal).click(function() {
    
    
                    $(modal).modal('hide');
                    $(modal).removeClass("in");
                    $(modal).css("display", "none");
                });
    
    
            }
        });
    Con questa funzione alla chiusura della finestra modale il wheel risulta rallentato e scattoso, c' è un modo per risolvere quell' errore e "disattivare" la e.preventDefault()?

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, hai provato ad usare unbind per rimuovere l'evento? Piuttosto che farlo sulla classe cerca magari un'evento precedente se possibile.

  3. #3
    $('body').on('click', 'img', function() {
    $(document).bind("wheel", function(e) {
    e.preventDefault();
    return false;
    });
    if ($(modal).hasClass("fade")) {


    $(modal).click(function() {


    $(modal).modal('hide');
    $(modal).removeClass("in");
    $(modal).css("display", "none");
    $(document).unbind();
    });


    }
    });

    così facendo non mi permette più di fare nessun click sulla pagina!

  4. #4
    Quote Originariamente inviata da m4rko80 Visualizza il messaggio
    Ciao, hai provato ad usare unbind per rimuovere l'evento? Piuttosto che farlo sulla classe cerca magari un'evento precedente se possibile.

    $('body').on('click', 'img', function() {
    $(document).bind("wheel", function(e) {
    e.preventDefault();
    return false;
    });
    if ($(modal).hasClass("fade")) {


    $(modal).click(function() {


    $(modal).modal('hide');
    $(modal).removeClass("in");
    $(modal).css("display", "none");
    $(document).unbind("wheel");
    });


    }
    });


    Adesso sembra funzionare grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.