Bei langem Klick (1 Sekunde) verschiebbar machen mit Timeout

Noeden

Erfahrenes Mitglied
Hallo Leute,
würde gerne ein LI per jQuery UI draggable machen, wenn man die Maus darauf eine Sekunde lang gedrückt hält. Dann soll man es auch direkt verschieben können. Wenn man loslässt soll man auch beim nächsten mal wieder eine Sekunde die Maus halten müssen zum verschieben.

Also meine Vorüberlegungen:

bei onclick ein setTimeout für 1000 msec. Danach das draggable aktivieren.
bei mouseleave oder mouseup clearTimeout und bewegbar deaktivieren.

Jetzt habe ich noch zwei Probleme.

1. Das mit dem Timeout funktioniert nicht
2. Nach der Sekunde wäre das Ding zwar aktiviert, aber ich würde es noch nicht verschieben. Dafür müsste ich es anklicken. Zum anklicken müsste ich die Maus loslassen .... ;)

Danke schonmal!

Mein Code:

Code:
$(document).ready(function(){
	$("#referenz_div li").draggable({ disabled: true });
	var ref_bewegbar_timeout = false;
	$("#referenz_div li").live("mousedown", function(){
		ref_bewegbar_timeout = setTimeout("$(this).draggable("enable")", 750);
	});
	$("#referenz_div li").live("mouseup", function(){
		clearTimeout(ref_bewegbar_timeout);
		$(this).draggable("disable");
	});
	$("#referenz_div li").live("mouseleave", function(){
		 clearTimeout(ref_bewegbar_timeout);
		 $(this).draggable("disable");
	});
});
 
Sorry. Ich bin schon ganz dull, weil ich versuche mich hier zurechtzufinden in dem was ich da zusammenwerfe. Danke! Jetzt erinner ich mich auch wieder. Ach gott :(
 
Zurück