2016-02-27 53 views
1

我在我的MVC项目。我是创建保存键盘快捷键使用jQuery,取消,对于添加新我使用Alt键 + 小号Alt键 + çAlt键 + 小号,其对铬的工作,在Firefox,其Alt键 + 小号不工作。如何防止deault Alt + S键在Firefox

我使用这些codes-

$(document).on('keydown', function (e) { 

    // e.preventDefault(); 
    e.preventDefault ? e.preventDefault() : event.returnValue = false; 

    var key = e.which || e.keyCode; 
    if (e.altKey === true && key === 78) {-Colling a Add Function 
     // AddCompany(); -i adding a new company 
     alert('Are You Want to Add New Company '); 
    } 
    if (e.altKey === true && key === 83) {-Colling a save Function 
     // funSaveCreation();- save function 
     alert('Are You Want to Save Company '); 
    } 
    if (e.altKey === true && key === 67) {--Colling a cancel Function 
     // Cancel();- cancel function 
     alert('Are You Want to Cancel '); 
    } 
}); 
+0

有任何人有这个想法? –

回答

0

我能够防止火狐的默认快捷键,使用这些代码:

$(document).on('keydown', function (event) { 
    event = event || document.event; 
    var key = event.which || event.keyCode; 

    if (event.altKey === true && key === 78) { 
     ShowAddtabVendors();  
    } 

    if (event.altKey === true && key === 83) { 
     funSaveVendor(); 
     event.preventDefault(); 
     event.stopPropagation(); 
     event.disabledEventPropagation(); 
    } 
}); 
1

注意,某些浏览器不会让你捕捉某些捷径!一个工作jQuery的例子为Alt键 + 小号快捷方式(Mozilla Firefox浏览器:版本51.0.1,Linux的)在聚焦窗口:

$(window).keydown(function(event) { 
    if(event.altKey && event.keyCode == 83) { 
    console.log("Alt+S event captured!"); 
    event.preventDefault(); 
    } 
}); 
+0

谢谢,它为我工作。 –