2011-12-29 4 views
0

Я начинаю становиться создателем плагина и не полностью его использую. Одна из проблем заключается в том, что я хотел бы установить значение по умолчанию, когда у вас есть два числа. И мне нужно иметь возможность применять их к коду.Разработка плагинов для перетаскивания

Что я имею в виду, как это:

var defaults = { 
numbers: [1, 2] 
} 

Мне нравится, как команда JQuery сделал это с перетаскиваемым:

$('#drag').draggable({ 
grid: [1, 100] 
}); 

Что-то я хотел бы сделать. Любая идея как?

ответ

1

Один хороший способ сделать это состоит в использовании $.extend, который объединяет содержимое двух или более объектов вместе в первый объект:

(function($) { 
    $.fn.foobar = function(options) { 
     var settings = { 
      numbers: [1, 2] 
     }; 
     $.extend(settings, options); 

     /* continue with plugin code. */   

     alert(settings.numbers[0] + " " + settings.numbers[1]); 
    }; 
})(jQuery); 

Теперь settings представляет собой комбинацию из заданного пользователя вариантов и опции «по умолчанию». См. this section учебника по разработке плагинов для получения дополнительной информации.

Пример:http://jsfiddle.net/2Djya/

P.S: Хороший ресурс для выяснения того, как плагины работа сама jQueryUI source.

+0

спасибо. – Shawn31313

0

упрощенный код плагина:

$.fn.yourPlugin = function(conf){ 
    var config = $.extend({ 
     someVar : 'default' 
     , foo : 'anotherDefault' 
    }, conf); 

    return this.each(function(){ 
     // do stuff with $(this) and config 
    }); 
}; 

$.extend будет копировать параметры из conf, который передается в на объект вы создаете, который устанавливает значения по умолчанию.

+0

Почему это было проголосовано? –

 Смежные вопросы

  • Нет связанных вопросов^_^