2013-11-25 2 views
0

Привет, мне интересно, как сделать что-то похожее на пользовательский интерфейс jQuery. Например,Функция изменения в объекте javascript

var myValue; 
$('slider').slider({ 
    min: opts['min'], 
    max: opts['max'], 
    value: opts['value'], 
    step: opts['step'], 
    change: function(event, ui){ 
     myValue = ui.value; 
    } 
}); 

Итак, я хотел бы создать функцию изменения в моем объекте, которая будет работать одинаково.

var myValue; 
    distance.init(selector, '', 
     function(valueWhichIgetAfterChange){ // it will be change function in my object 
      myValue = valueWhichIgetAfterChange; 
     } 
    ); 

В заключение я хотел бы инициализировать мой объект с возможностью отправки туда выбора, опции и функции изменения, где «valueWhichIgetAfterChange» всегда будет иметь текущее значение, которое будет отправлено на объект после любого изменения (если вход будет изменен, например).

ответ

1

Так они делают это, чтобы объединить два объекта вместе, используя $.extend().

function passMeAnObject(obj){ 
    var settings = { 
     setting1: 'first', 
     setting2: 'second', 
     setting3: 'third' 
    }; 
    $.extend(settings,obj); 
} 

passMeAnObject({setting1:'fourth'}); 

Это обновит setting1 свойства, оставляя другие два как неизменные или «по умолчанию».

+0

Прошу прощения, я делал еще один проект. Я знаю, как объединить два объекта, но я не знаю, что происходит там, что ui-объект всегда обновляется, несмотря на то, что он отправляет атрибут функции. Кажется, что это не функция, возвращаемая функцией. Это только здесь: $ ('. Slider'). Slider ({change: function (event, ui) {...} – Ziggy

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