2016-11-04 2 views
0

Ich benutze Agile Toolkit, ein Framework, das JavaScript-Code aus PHP generiert. Ich habe ein div-Element (ich nenne es "Top-Element"), das einige andere div-Elemente enthält, einige Knöpfe. Ich möchte das "Top-Element" in ein anderes Element verschieben, um es zu ändern.Jquery-Doppelklick-Ereignis nach dem Anhängen eines Elements an ein anderes Element

Ich habe versucht, so etwas wie:

$('#top-element').appendTo($('#new-parent')); 

Aber das Problem ist, dass das „Top-Element“ einige Kinder haben, die Ereignisse haben klicken, einige Tasten. Nachdem ich das "top-element" an ein neues Element angehängt habe (nachdem ich das übergeordnete Element geändert habe), werden die click-Ereignisse zweimal ausgelöst.

Ich habe versucht, das Element und fügen Sie das geklonte Element an die neue Mutter zu klonen:

var cloned_top_element = $('#top-element').clone(true); 
cloned_top_element.appendTo($('#new-parent')); 

ich das gleiche Problem bekam, das Click-Ereignis auf „top-Element“ Kinder zweimal genannt wurde.

Der Weg Doppelklick zu verhindern, ist zu verwenden:

unbind('click') or off('click') 

habe ich versucht, so etwas wie:

$('#new-parent').find('.children-class').unbind('dblclick').unbind('click'); 

aber noch keine Ergebnisse.

für Kind Buttons Die Bindung ist so:

$('.children-class').bind('click',function(ev){ ev.preventDefault();ev.stopPropagation(); other stuff }); 

Die bind Funktion nur einmal erscheint. Es gibt keine Duplikate im js-Code.

Irgendwelche Ideen? Voraussichtlicher Dank.

+0

Wie nicht kopieren werden Sie das Click-Ereignis in erster Linie die Bindung? –

+0

können Sie diesen Fehler in einer Datei replizieren? – madalinivascu

+0

Nein, weil ich ein Framework habe und es viel benutzerdefinierten Code gibt. – Pascut

Antwort

0

Entfernen Sie die true in der clone Funktion .clone(); dies wird die Event-Handler

+0

Ich habe das auch versucht. Noch zwei Auslöser für das Klickereignis. – Pascut

+0

Können Sie diesen Fehler in einer Datei reproduzieren? – madalinivascu

+0

Nein, weil ich ein Framework habe und es viel benutzerdefinierten Code gibt. Die js bezüglich Click Events wird vom Framework generiert. Aber ist gültiger js-Code. – Pascut

Verwandte Themen