2013-06-06 41 views
0

有没有一种方法来简化,而不必重复相同的信息?这个代码...简化hotkeys.js功能

shortcut.add("b",function() { 
    $(".show_hide").trigger('click'); 
    },{ 
    'disable_in_input':true 
}); 

shortcut.add("a",function() { 
    $("#about").trigger('click'); 
    },{ 
    'disable_in_input':true 
}); 

shortcut.add("w",function() { 
    $(".show_hide_header").trigger('click'); 
    },{ 
    'disable_in_input':true 
}); 

shortcut.add("r",function() { 
    $(".show_hide_l").trigger('click'); 
     },{ 
    'disable_in_input':true 
}); 

shortcut.add("up",function() { 
    $("#prev").trigger('click'); 
     },{ 
    'disable_in_input':true 
}); 

shortcut.add("down",function() { 
    $("#next").trigger('click'); 
     },{ 
    'disable_in_input':true 
}); 

这是键盘快捷键http://www.openjs.com/scripts/events/keyboard_shortcuts/

+1

不幸的是,看起来像插件本身的限制。只要其BSD许可证允许或实施您自己的键盘处理例程,就必须修改该插件。 – marlenunez

回答

1
var selectors = {'b': '.show_hide', 'a': '#about', 'w': '.show_hide_handler' }, 
    i; 

function shortcutListener(selector){ 
    return function(){ 
     $(selector).trigger('click'); 
    } 
} 

for (i in selectors){ 
    shortcut.add(i, shortcutListener(selectors[i]), {'disable_in_input' : true}); 
} 
+0

不幸的是我无法得到这个工作 –

+0

修复了一个错误...对不起。 – liuyl

+0

谢谢!你碰巧知道如何在激活时向锚点添加一个'.class'? (然后在稍后淡出效果?只是向用户反馈它已被选中) –