2016-02-26 4 views
0

Как обрабатывать несколько ключей. У меня есть несколько вариантов сохранения, я хочу обрабатывать одну кнопку за раз. Я не получаю, как обрабатывать несколько кнопок сохранения на всей странице Я использую jquery в mvc проект .please помочьсочетания клавиш в mvc projecct

Я использую этого code-

$(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(); 
    } 
}); 

здесь нужно обрабатывать кнопку сохранить для клавиши быстрого вызова для saving.i хочет обрабатывать несколько кнопок через это.

+0

Это не то, как работает 'keydown' обработчик события. Прочтите документы для получения дополнительной информации: http://api.jquery.com/keydown –

+0

Я получаю это, но проблема в том, что на моей странице у меня есть несколько кнопок сохранения для сохранения нескольких сведений, например, для создания и одного всплывающего сохранения и другие также, и я собираю другую функцию для сохранения разных вещей, отмены и для других целей, поэтому, как справиться с этим случаем, через который будет выходить fuction. –

+0

Вам нужно привязать ваше keydown к элементу/узлу html, * затем * проверить, что такое ключ. «ALT + S» не является элементом html (на самом деле вам вообще не нужен этот параметр - если вы помещаете здесь «#btnSaveCompany», тогда он будет работать только тогда, когда эта кнопка имеет фокус, - который побеждает точку клавиатура. –

ответ

0

Использование Alt + S в Firefox, например, откроет меню истории. Таким образом, вам нужно будет выяснить, какие комбинации клавиш или комбинаций клавиш вы хотите использовать, которые не будут запускаться в горячих клавишах браузера. В приведенном ниже примере я использую 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"); 

} 
Смежные вопросы