2011-04-22 108 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

相关问题