2013-11-25 45 views
0

你好,我想知道如何在jQuery UI中做出類似的事情。例如更改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