2011-04-22 143 views
0

所以我有(document).ready函數內這些功能:幫助一個JavaScript和jQuery函數創建一個函數

$(document).ready(function() { 
    $("#border_button").click(function() { 
     var value = $("#border-radius").attr("value"); 
     $("div.editable").click(function (e) { 
      e.stopPropagation(); 
      showUser(value, '2', this.id) 
      $(this).css({ 
       "-webkit-border-radius": value 
      }); 
     }); 
    }); 
}); 

我希望能夠寫一個函數的參數,這將是:

(#border_button,#border_radius,2,-webkit-border-radius) 

但每次我寫的功能,並執行它使用functionName(參數)的時候,我得到的錯誤「未定義」

有誰知道如何編寫一個函數這使得w不要返回undefined?

回答

0

也許是這樣的?不知道爲什麼你想這樣做。

$(document).ready(function(){ 

    function Fos(buttonSel, inputSel, someValue, cssProperty) { 
     $(buttonSel).click(function(){ 
      var value = $(inputSel).attr("value"); 
      $("div.editable").click(function (e) { 

       e.stopPropagation(); 

       showUser(value, someValue, this.id) 
       var css_obj={}; 
       css_obj[cssProperty]=value; 
       $(this).css(css_obj); 
      });   
     });   
    } 

    Fos('#border_button', '#border-radius', 2, '-webkit-border-radius'); 
});   
+0

是的,沒錯。你的好。我吮吸。好吧! – 2011-04-22 07:55:31

1

您沒有創建可在任何地方手動調用的函數。

如果你談論的是一個完全不同的功能:你需要通過你的參數爲字符串,即與'"報價:

someFunction('#border_button', '#border_radius', 2, '-webkit-border-radius'); 

爲了讓您當前的代碼調用一個函數:

function fooBar(selector, fieldSelector, num, cssRule) { 
    $(selector).click(function(e) { 
     var value = $(fieldSelector).val(); 
     $('div.editable').click(function(e) { 
      e.stopPropagation(); 
      showUser(value, num, this.id) 
      $(this).css(cssRule, value); 
     }); 
    }); 
} 

$(document).ready(function() { 
    fooBar('#border_button', '#border_radius', 2, '-webkit-border-radius'); 
}); 

請注意,我已經改變了.attr('value').val()因爲這是jQuery的方式來獲得VALU表單域的e。

+0

是的我知道我不是故意暗示我在參數中使用函數,我只是沒有引用它們,因爲我認爲它是隱含的。我的壞 – 2011-04-22 07:52:45

+0

+1哦,簡單的.css()方法:) – kapa 2011-04-22 07:57:52

+0

是的,你不能用動態鍵創建對象文字。通過對象參數,他需要類似'var css = {}; css [cssRule] = value; $(this).css(css);'這會非常醜陋。 – ThiefMaster 2011-04-22 07:58:54

相關問題