2017-05-30 1 views
3

Ich muss klicken Sie auf eine HTML-Seite außer einem div.but, dass Div dynamisch nach dem Laden der Seite erstellt wird. Ich habe folgenden Code versucht.Klicken Sie auf HTML-Element mit Ausnahme einer dynamisch erstellten Elemente?

Es funktioniert nur für Elemente, die nicht dynamisch erstellt werden. "flyoutdiv" wird dynamisch nach dem Laden der Seite erstellt. Ich muss einen Klick auf die gesamte Seite mit Ausnahme dieses Elements auslösen. Gibt es eine Lösung?

+0

Nachdem Sie flyoutdiv erstellt haben, binden Sie einen Ereignis-Listener an ihn. Nach der Erstellung von div füge [code] $ ('. Flyoutdiv') hinzu. Click (function() {// Dein Code hier}); – Djuro

Antwort

2

Sie müssen flyoutdiv div klicken Ereignis anhängen wie folgt.

$(".flyoutdiv").on('click',function(e){e.stopPropagation();}) 

dynamisch zu handhaben flyoutdiv Sie den Code wie folgt verwenden können.

$("body").on('click',".flyoutdiv",function(e){e.stopPropagation();})

2

Sie müssen die Methode on für dynamisch erstelltes Element verwenden.

$('html').on('click', function(e) { 
 

 
    if (!$(e.target).hasClass('flyoutdiv')) { 
 

 
    } 
 

 
});

+0

Es funktioniert. Vielen Dank –

1

Nachdem Sie flyoutdiv erstellt, binden, um einen Ereignis-Listener zu ihm. Nach der Erstellung von Div hinzufügen $('.flyoutdiv').click(function(){//your code here});

Es ist viel besser als die Suche nach Ziel bei jedem Klick.

Verwandte Themen