我有这个功能:
function toggleExpansion(actions){
if(actions === 'on') {
$('.left-column').on('click', expand);
}
if(actions === 'off') {
$('.left-column').off('click', expand);
}
}
我会多次拨打toggleExpansion('on')
或toggleExpansion('off')
。
我想重写toggleExpansion,使其行为相同,但代码较少:
function toggleExpansion(actions){
$('.left-column').actions('click', expand);
}
显然,jquery不知道我是指变量actions
还是寻找名为action()
的方法。如果我使用:
function toggleExpansion(actions){
$('.left-column').(actions.valueOf)('click', expand);
}
它评估为$('.left-column').(on)('click', expand)
这是错误的语法。
谢谢!
答案 0 :(得分:5)
您可以使用[]
语法按名称调用作为对象属性的函数:
$('.left-column')[actions]('click', expand);