• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Markierung nach Doppelklick entfernen

mikdoe

Moderator
Hallo!
Hab hier dieses jQuery Plugin gefunden:
HTML:
jQuery.fn.single_double_click = function(single_click_callback,double_click_callback,timeout) {
	"use strict";
	return this.each(function(){
		var clicks = 0, self = this;
		jQuery(this).click(function(event){
			clicks ++;
			if (clicks == 1) {
				setTimeout(function(){
					if(clicks == 1) { single_click_callback.call(self,event); }
					else { double_click_callback.call(self,event); }
					clicks = 0;
				}, timeout || 300);
			}
		});
	});
}

Funktioniert perfekt.

Ich möchte es so erweitern, dass verhindert wird, dass ein ggf. unter der Maus befindlicher Text durch Doppelklick markiert wird. Habe dafür an verschiedenen Positionen event.preventDefault(); return false; eingefügt aber das bleibt ohne Wirkung.
Was mache ich falsch?
 
Zuletzt bearbeitet:
Du musst im mousedown ev.preventDefault() aufrufen... aber denke daran, dass du dann den Text gar nicht markieren kannst.
 
OK, das Nichtmarkierenkönnen ist nicht so schlimm an der Stelle. Wie baue ich denn das mousedown in den Code hinein?
 
Code:
jQuery.fn.single_double_click = function(single_click_callback,double_click_callback,timeout) {
	"use strict";
	return this.each(function(){
		var clicks = 0, self = this;
		jQuery(this).click(function(event){
			clicks ++;
			if (clicks == 1) {
				setTimeout(function(){
					if(clicks == 1) { single_click_callback.call(self,event); }
					else { double_click_callback.call(self,event); }
					clicks = 0;
				}, timeout || 300);
			}
		}).mousedown(function(event){
			event.preventDefault();
		});
	});
}
 
Einfach konkatenieren. Sehr cool, hab ich in dieser Form noch nicht gemacht. Wieder was gelernt.
Danke Dir, Korbinian!
 
Zurück
Oben