在jQuery热键中设置js函数

时间:2014-03-18 09:37:25

标签: javascript jquery callback hotkeys

我有一个setDisplay函数需要作为jQuery Hotkeys的bind方法的回调函数调用。

function setDisplay(id){
    val = {
        opener : [
            ["#opener", "none"],
            ["#container", "block"]
        ],
        acClose : [
            ["#opener", "block"],
            ["#container", "none"]
        ],
    };
    var sub = val[id];
    var sub1;
    for(i in sub){
        sub1 = sub[i];
        $(sub1[0]).css("display", sub1[1]);
    }
}

   function setHotkeys()
    {
        var open = function(){
            $("#opener").css('display', 'none');
            $("#container").css('display', 'block');
        };
        var close = setDisplay(acClose); // It will work when "close" is defined similar to "open".
        acKey = [
            ["keydown", "ctrl+a", open],
            ["keydown", "ctrl+b", close],
        ];
        sub = [];
        for(i in acKey) {
            sub = acKey[i];
            $(document).bind(sub[0], sub[1], sub[2]);
        }
    }

函数setHoykeys使用变量“open”,但“close”,如上所述。 setDisplay函数有什么问题?我怎么能解决它?

0 个答案:

没有答案