在.on()和.off()方法之间切换

时间:2014-08-01 17:57:52

标签: javascript jquery

我有这个功能:

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)这是错误的语法。

谢谢!

1 个答案:

答案 0 :(得分:5)

您可以使用[]语法按名称调用作为对象属性的函数:

$('.left-column')[actions]('click', expand);