在Javascript / Jquery中,是否可以使用回调参数间接调用对象方法?

时间:2014-05-22 05:32:10

标签: javascript jquery

我不知道这个问题是否足够明确。我认为一个例子更容易理解。我想做以下事情:

而不是直接调用object方法,如下所示:

$("#input").changed(function(){  
    //do something  
})

或者这个:

$("#input").keyup(function(){  
    //do something  
})

我希望有一个函数可以动态地改变被调用的对象的方法,如下所示:

function foobar(callback){
    $("#input").callback(function(){  
        //do something  
    })
}

foobar("keyup")
foobar("changed")

1 个答案:

答案 0 :(得分:2)

是。这些方法是Javascript Object中的键。您可以使用带有点的方法或方括号中的字符串:

$(selector).keyup()

$(selector)['keyup']()

所以你可以创建一个这样的函数:

function foobar(callback){
    $("#input")[callback](function(){  
        //do something  
    })
}

虽然看起来很傻。