如何处理多个键。我有多个保存选项,我想一次处理一个按钮。我没有得到如何在整个页面中处理多个保存按钮我在mvc项目中使用jquery。请帮助< / p>
我正在使用此代码 -
$(document).bind('keydown', 'ALT+S', function() {
// ALT+S for saving shortcut
if (e.keyId == '#btnSaveCompany') {
// here i want to handle a funtion for this key btnSaveCompany
funSaveCreation();
}
});
这里想要处理用于保存的键盘快捷键的保存按钮。我希望通过此处理多个按钮。
答案 0 :(得分:0)
例如,在Firefox中使用Alt + S
将打开历史记录菜单。因此,您必须确定要使用哪些按键或热键组合,这些组合不会在浏览器热键中生成。对于下面的示例,我使用Shift + S
来触发函数来模拟保存。
直播示例:http://codepen.io/larryjoelane/pen/zqOQEd?editors=1010
//variable to hold the value of keydown press
//combinations
var saveHotKeys = 0;
//keysDown flag intialized to false
var keysDown = false;
$(document).on("keydown", function(e) {
//set keysDown flag to true
keysDown = true;
//if the keysDown flag is true
//and the key pressed is not equal to value stored
if(keysDown === true && e.which !== saveHotKeys){
//add key code value saveHotKeys
saveHotKeys += e.which;
}
//debug only(used to determine total value of keydown codes)
console.log(saveHotKeys);
// SHIFT + S for saving shortcut
// Using CTRL + S will invoke
// browser hot key
if ( saveHotKeys === 99) {
//call the save function
funSaveCreation();
}
});
//key up event to clear the flag and hot keys values
$(document).on("keyup",function(){
//set keysDown flag to false
keysDown = false;
//clear the saveHotKeys value
saveHotKeys = 0;
});
function funSaveCreation() {
alert("saved");
}