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 № 1Wenn 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 ...