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

[GELÖST] jQuery UI Multidraggable: options von außerhalb sichtbar?

znieh99

New member
Ich verwende die Funktionen von 'jQuery UI Multidraggable' um mehrere Bilder gleichzeitig zu bewegen. Das funktioniert klaglos. Nun möchte ich aber auf 'options' die dort erstellt und gesetzt werden können, auch von außerhalb zugreifen und sie ändern. Jedoch bekomme ich sie über das DOM-Element 'img' gar nicht zu sehen.

Gibt es eine Möglichkeit das zu tun?

Der folgende Code-Teil zeigt die Initialisierung der 'img-elemente'.

Code:
(function($) {

$.widget("ui.multidraggable", $.extend({}, $.ui.draggable.prototype, {
	_init: function() {

		if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
			this.element[0].style.position = 'relative';

		(this.options.addClasses && this.element.addClass("ui-draggable"));
		(this.options.disabled && this.element.addClass("ui-draggable-disabled"));

		this._mouseInit();
		
		this.options.isMain = false;
                this.options.myOption = 100;    //VON MIR und hier auch sichtbar
	},
        ...
Code:
// Code außßerhalb
var ele = $('.multidraggable')[0];  //in ele sind 'options' nicht sichtbar !!
lg heinz
 
Zuletzt bearbeitet von einem Moderator:
Ich habe für das Auslesen eine Lösung gefunden. Leider noch keine zum Ändern einer Option von Außen.

Code:
(function($) {

$.widget("ui.multidraggable", $.extend({}, $.ui.draggable.prototype, {
	_init: function() {

		if (this.options.helper == 'original' && !(/^(?:r|a|f)/).test(this.element.css("position")))
			this.element[0].style.position = 'relative';

		(this.options.addClasses && this.element.addClass("ui-draggable"));
		(this.options.disabled && this.element.addClass("ui-draggable-disabled"));

		this._mouseInit();
		
		this.options.isMain = false;
                this.options.myOption = 100;    //VON MIR und hier auch sichtbar
	},
        ...

Lösung:
Code:
    // Initialisierung des widget
 instance = $(".multidraggable").multidraggable();
   // Auslesen einer Option
var a = $(instance[1]).multidraggable('option', 'myOption');
lg heinz
 
Zurück
Oben