在jquery中使用变量作为函数

时间:2015-01-31 17:21:34

标签: javascript jquery

我想使用一种方法,我将一个function_name作为参数传递给另一个函数。

在另一个函数中,该参数将被视为函数

这是我的代码示例

<div class="btn_crt_acct" onclick="toggle_object('register_div','slideDown');">
            CREATE AN ACCOUNT
</div>

whch会调用这样的函数

function toggle_object(obj,fun)
{
    $('#'+obj).fun('slow'); 
    // fun => slideDown
    // so $('#'+obj).fun('slow'); => $('#'+obj).slideDown('slow'); 
}

但我做错了,因为它在控制台中声明错误,$ fun(..)不是函数。

我怎样才能让它完美运作?

由于

1 个答案:

答案 0 :(得分:2)

您可以使用括号表示法

$('#'+obj)[fun]('slow'); 

FIDDLE

但是为什么不使用正确的事件处理程序,如果你想要切换它,可以使用slideToggle

$('.btn_crt_acct').on('click', function() {
    $('#register_div').slideToggle();
});