/ / Löschen Sie ein Div mit der rechten Maustaste (Kontextmenü blockieren) - Abfrage, Kontextmenü, Rechtsklick

Löschen Sie ein Div mit der rechten Maustaste (Kontextmenü blockieren) - Jquery, Kontextmenü, Rechtsklick


Ich habe ein Problem mit dem Kontextmenü

Ich versuche, ein Div zu löschen

$(".global_class").live("mousedown", function(e)
{
if( (e.which == 3) )
{
// $("#"+this.id+"").remove();
del_function(this.id);
}
e.preventDefault();
}).live("contextmenu", function(e){  e.preventDefault(); });

Dieser Code funktioniert, aber das Problem ist der $("#"+this.id+"").remove();

jquery entfernt das div und das live $(".global_class").live("mousedown", function(e) nicht gestartet (Ergebnis -> das Kontextmenü wird nicht gesperrt).

Hoffe, jemand kann mir helfen.

Danke im Voraus!
Peter

Antworten:

1 für die Antwort № 1

Wenn Sie die Elemente entfernen, die an einem Ereignis beteiligt sind, kommt es zu Blasenbildung und Standardwerten live beteiligt sein). Sie könnten dies tun:

$(".global_class").live("mousedown", function(e)
{
var id = this.id;

if( (e.which == 3) )
{
setTimeout(function() {
del_function(id);
}, 0);
}
e.preventDefault();
}).live("contextmenu", function(e){  e.preventDefault(); });

... damit du das entfernst div gleich nach Die Veranstaltung endet und nicht während der Veranstaltung.


Off-Topic, aber Sie können das nicht abbrechen contextmenu Event in allen Browsern (Opera kommt in den Sinn), das Sie möglicherweise in Ihre Entscheidungen über die Benutzeroberfläche einbeziehen möchten ...