2012-06-12 10 views
25

मैं Ctrl + एस क्रोम में पकड़ना चाहता हूं, और पृष्ठ को सहेजने के लिए डिफ़ॉल्ट ब्राउज़र व्यवहार को रोकना चाहता हूं। कैसे?क्रोम में Ctrl + S preventDefault

(बस सवाल & उत्तर पोस्ट के रूप में मैं एक बहुत लंबे समय के लिए इस के बाद हो गया था और एक समाधान नहीं मिला)

+0

संभव डुप्लिकेट से "उधार" ब्राउजर में एल + एस (कार्यक्षमता सहेजें)] (http://stackoverflow.com/questions/4446987/overriding-controls-save- कार्यक्षमता-in-browser) – epascarello

उत्तर

34

जहां तक ​​मैं देख सकता हूँ, गुप्त सॉस है, कि Ctrl +एस कुंजीपटल घटना नहीं, केवल कीडाउन घटना को आग नहीं करता है।

का उपयोग jQuery.hotkeys: jQuery के साथ

$(document).bind('keydown', 'ctrl+s', function(e) { 
    e.preventDefault(); 
    alert('Ctrl+S'); 
    return false; 
}); 

केवल:

$(document).bind('keydown', function(e) { 
    if(e.ctrlKey && (e.which == 83)) { 
    e.preventDefault(); 
    alert('Ctrl+S'); 
    return false; 
    } 
}); 

संपादित 2012/12/17 - jQuery.hotkeys कहते

Hotkeys यदि आप ट्रैक नहीं किया जाता ' एक इनपुट तत्व के अंदर फिर से (जब तक आप explici इनपुट को सीधे हॉटकी बांधें)। यह सामान्य उपयोगकर्ता टाइपिंग के साथ संघर्ष से बचने में मदद करता है।

+2

jQuery.hotkeys घटना को कैप्चर नहीं कर रहा है जब टेक्स्टटेरा या इनपुट फ़ील्ड केंद्रित है। –

+0

@ ब्रायनएम। हंट बहुत सच धन्यवाद। उद्धृत दस्तावेज़ क्योंकि यह एक दस्तावेज "फीचर" – zupa

+1

युक्ति है: 'कीप' का उपयोग न करें, यह हमेशा पहले सहेजने वाला संवाद ट्रिगर करेगा। हमेशा 'keydown' के लिए जाओ। –

1

document.onkeydown = function (e) { 
 
    e = e || window.event;//Get event 
 
    if (e.ctrlKey) { 
 
     var c = e.which || e.keyCode;//Get key code 
 
     switch (c) { 
 
      case 83://Block Ctrl+S 
 
       e.preventDefault();  
 
       e.stopPropagation(); 
 
      break; 
 
     } 
 
    } 
 
}; 
 

0

document.onkeydown = function (e) { 
 
    e = e || window.event;//Get event 
 
    if (e.ctrlKey) { 
 
     var c = e.which || e.keyCode;//Get key code 
 
     switch (c) { 
 
      case 83://Block Ctrl+S 
 
      case 87://Block Ctrl+W --Not work in Chrome 
 
       e.preventDefault();  
 
       e.stopPropagation(); 
 
      break; 
 
     } 
 
    } 
 
};

[अधिभावी विवाद के
+3

के बिना काम क्यों नहीं करता है 2 लगभग समान उत्तरों क्यों? – zupa

संबंधित मुद्दे