帮助一个JavaScript和jQuery函数创建一个函数
所以我有(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?
也许是这样的?不知道为什么你想这样做。
$(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');
});
您没有创建可在任何地方手动调用的函数。
如果你谈论的是一个完全不同的功能:你需要通过你的参数为字符串,即与'
或"
报价:
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。
是的我知道我不是故意暗示我在参数中使用函数,我只是没有引用它们,因为我认为它是隐含的。我的坏 – 2011-04-22 07:52:45
+1哦,简单的.css()方法:) – kapa 2011-04-22 07:57:52
是的,你不能用动态键创建对象文字。通过对象参数,他需要类似'var css = {}; css [cssRule] = value; $(this).css(css);'这会非常丑陋。 – ThiefMaster 2011-04-22 07:58:54
是的,没错。你的好。我吮吸。好吧! – 2011-04-22 07:55:31