2013-06-06 62 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'? (然後在稍後淡出效果?只是向用戶反饋它已被選中) –