Eigene jQueryfunktion kann jQuery UI Funktion nicht nutzen.

Noeden

Erfahrenes Mitglied
Hallo,

ich habe auf der Seite von jQuery und von jQuery UI nachgeguckt, aber ich finde nichts. Meines Erachtens sollte das so funktionieren, tut es aber nicht. Es ist nur ein Teil der späteren Funktion, also ich brauche diese Funktion nicht nur dafür.

erstmal mein Code:

Code:
jQuery.fn.defDroppable = function(options){
						return this.each(function(){
							$(this).css("color", "red");
alert("test");
							$(this).droppable({
								over: function(e, ui){
										ui.helper.clone().attr("style", "").addClass("dragtemptemp").removeClass("refdragging").appendTo(this);
									},
								out: function(e, ui){
										$(this).children(".dragtemptemp").remove();
									},
								drop: function(e,ui){
										//$(this).children(".dragtemptemp").removeClass("dragtemptemp").addClass("dragtemp").defDroppable();
										alert("dropped");
									},
								greedy: true
							});
						});
					};

Also beim ersten Aufruf der Funktion geht es (bekomme aber nur test alertet). Aber wenn ich in diese Elemente dann noch ein LI droppe wird gar kein alert ausgegeben. Also kann der beim Zuweisen von droppable die Parameter für die Events nicht verwenden. Aber warum kann er es droppable machen?

Für Aufklärung wäre ich sehr dankbar

Noeden


Also ich habe dann mal einen anderen Ansatz probiert und habe die Events per live eingebunden:

Code:
$(".ui-draggable").live ("dropover", function(e, ui){
						ui.helper.clone().attr("style", "").addClass("dragtemptemp").removeClass("refdragging").appendTo(this);
					});
					$(".ui-draggable").live ("dropout", function(e, ui){
						$(this).children(".dragtemptemp").remove();
					});
					$(".ui-draggable").live ("drop", function(e, ui){
						alert("dropped");
						$(this).children(".dragtemptemp").removeClass("dragtemptemp").addClass("dragtemp").droppable();
						
					});
					$(".ui-draggable").live ("click", function(){
						alert ("klick");
					});

Die namen der Events habe ich von der jQuery UI Seite. Es fuktionieren alle bis auf das drop Event. Und nach einem Test stellte sich heraus, dass das oben auch der Fall war. Jetzt bin ich echt ratlos.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück