在变量和eval中调用函数

时间:2014-08-08 12:40:00

标签: javascript function eval

我有以下脚本:

<script type="text/javascript">
  pnlTest.addEvent(document.getElementById("dividerImg"), "mousedown", moveEvent = function(){eval(pnlTest.MoveSeparator('right'))}, false);
</script>

单击按钮图像时会运行。

此脚本由组件obout拆分器http://www.obout.com/splitter/ex_collapseexpandpanel.aspx创建。如何通过单击F11折叠面板?

2 个答案:

答案 0 :(得分:2)

您可以使用Immediately-invoked function

<script>
    (function() {
        eval(pnlTest.MoveSeparator('right'));
    }());
</script>

但请记住eval is evil。你应该尽量避免使用它。

答案 1 :(得分:0)

您需要keydown个活动。 F11包含密钥代码122,您还需要阻止默认的浏览器操作。否则,大多数浏览器会将F11键绑定到全屏事件。

var divider = document.getElementById("dividerImg");
pnlTest.addEvent(divider, "keydown", moveEvent = function(e) {
    if (e.which === 122 && e.keyCode === 122) {
        e.preventDefault();
        eval(pnlTest.MoveSeparator('right'))
    }
}, false);