2010-05-04 11 views
23

मैं jquery में एक फ़ंक्शन कोडिंग कर रहा हूं जो Ctrl + R दबाया जाता है लेकिन मुझे लगता है कि बाएं और दाएं ctrl keycodes क्या हैं ... क्या कोई मदद कर सकता है?कैसे पता लगाने के लिए कि Ctrl + R दबाया गया था?

अद्यतन

///this works 
    $(document).keydown(function(e){ 
     if(e.keyCode==17){alert("control was pressed")}; 
}); 

अगला Question-- मैं कैसे लिंक नियंत्रण कुंजी प्रेस और एक समारोह निष्पादित करने के लिए एक अन्य प्रमुख प्रेस करते हैं?

if(e.keyCode==17){llCtrlPress=1}; 
    if(e.keyCode==97 && llCtrlPress=1){DO SOMETHING} 
    ???????????? 

की तरह यह ठीक काम करेगा, लेकिन फिर मैं कैसे llCtrlpress वापस KeyUp पर '0' करने के लिए सेट है लगता है कि?

+0

@sadmicrowave - मैं बँधा हुआ :(यह किया जाना चाहिए था 17. मैं यह अब सही कर लेने – karim79

+0

हैं। आप अपना मूल प्रश्न हटाते हैं, यह भविष्य के लोगों के लिए उपयोगी नहीं होगा, कृपया अपना मूल प्रश्न छोड़ दें और फिर एक नया प्रश्न खोलें यदि आपके पास कोई दूसरा है। –

उत्तर

40

आपको कीडाउन फ़ंक्शन Ctrl वर्णों को फंसाने के लिए उपयोग करना होगा। यहाँ की मेरी कार्यान्वयन के लिए Ctrl +है एक:

$(document).keydown(function(e) { 
     if (e.keyCode == 65 && e.ctrlKey) { 
      alert('ctrl A'); 
     } 
    }); 

Ctrl-R मुश्किल है, क्योंकि अधिकांश ब्राउज़र में, कि पुनः लोड पृष्ठ, जो जावास्क्रिप्ट नहीं चलता है का मतलब है, पेज ताजा है ।

बस एक नोट भी, कीकोड कुंजी कुंजीपटल कार्यों की तुलना में कीडाउन/कीपूप फ़ंक्शन में भिन्न है।

संपादित करें: निकाला गया ctrl चर, भूल गया के बारे में ctrlKey

+0

का उपयोग करें उस चर को कुछ गंभीर बंद करने की आवश्यकता है –

+0

वैसे भी वैरिएबल की आवश्यकता नहीं है, ctrlKey के बारे में भूल गए। धन्यवाद लिंकनक और जोश। –

+0

कुंजी कोड? http://keycode.info/ –

5

Here keycodes है कि आप उपयोग कर सकते हैं की एक पूरी सूची है।

+1

लिंक मर चुका है। अद्यतन संसाधन? – briansol

+0

इस http://keycode.info/ –

0

वहाँ एक बूलियन संपत्ति ctrlKey कि तुम यहाँ का उपयोग करने में सक्षम होना चाहिए कहा जाता है ...

$(document).keypress(function(e) { 
    alert("Ctrl is pressed: " + e.ctrlKey); 
}); 
1

कारण है कि आप प्रयोग नहीं कर रहे है e.ctrlKey?

if (e.keyCode == 65 && e.ctrlKey) { 
    alert('ctrl A'); 
} 

संपादित करें: यहां अपने ctrl-r कीप्रेस को पहचानने के लिए एक उचित फ़ंक्शन है और ब्राउज़र को पुनः लोड करने से रोकें।

function keydown(e) { 
    if (e.ctrlKey && e.keyCode == 82) { 
     // 82 = r 

     // TODO: your thing. 

     if (e.preventDefault) { 
      e.preventDefault(); 
     } 
     else { 
      return false; 
     } 
    } 
} 

मैं एक jQuery नौसिखिया हूँ, मुझे लगता है कि आप

$(document).keydown(keydown); 

सही होगा?

0

के लिए कुंजी कोड Ctrl कुंजी 11 है।

$(document).keypress(function(e) { 


    alert("Ctrl is pressed: " + e.ctrlKey); 
}); 
5

इस कोड मैं IE और Firefox पर ताज़ा निष्क्रिय करने के लिए उपयोग कर रहा हूँ है (यह F5, Ctrl +F5 के लिए अच्छी तरह से काम और Ctrl +आर)

<script language="javascript" type="text/javascript"> 
    //this code handles the F5/Ctrl+F5/Ctrl+R 
    document.onkeydown = checkKeycode 
    function checkKeycode(e) { 
     var keycode; 
     if (window.event) 
      keycode = window.event.keyCode; 
     else if (e) 
      keycode = e.which; 

     // Mozilla firefox 
     if ($.browser.mozilla) { 
      if (keycode == 116 ||(e.ctrlKey && keycode == 82)) { 
       if (e.preventDefault) 
       { 
        e.preventDefault(); 
        e.stopPropagation(); 
       } 
      } 
     } 
     // IE 
     else if ($.browser.msie) { 
      if (keycode == 116 || (window.event.ctrlKey && keycode == 82)) { 
       window.event.returnValue = false; 
       window.event.keyCode = 0; 
       window.status = "Refresh is disabled"; 
      } 
     } 
    } 
</script> 

यदि आप यह पता लगाने के लिए उपयोगकर्ता का उपयोग नहीं करना चाहते हैं कि यह किस प्रकार का ब्राउज़र है ($ .browser प्लेटफ़ॉर्म निर्धारित करने के लिए navigator.userAgent का उपयोग करता है), तो आप कर सकते हैं का उपयोग

if('MozBoxSizing' in document.documentElement.style) - फ़ायरफ़ॉक्स

+1

उपयोगकर्ता ने F5 को अक्षम करने के लिए नहीं कहा था, इसलिए आपका उत्तर (सहायक होने पर) प्रश्न का उत्तर नहीं देता है। –

+1

इसके अलावा, यह भयानक है कि आप मौलिक ब्राउज़र कार्यों को अक्षम करने का प्रयास कर रहे हैं; जो भी समस्या आप हल करने की कोशिश कर रहे हैं, यह सही जवाब नहीं है। –

0
$(document).ready(function() { 
     $(document).keyup(function (e) { 
      if (e.keyCode == 81 && e.ctrlKey) { //CTRL+Q 
       alert("CTRL+Q"); 
      } else if (e.keyCode == 27) { //ESCAPE 
       alert("escape"); 
      } else if (e.keyCode == 67 && e.altKey) { // ALT+C 
      alert("alt+c"); 
     }  
    }); 
}); 

[key codes][1] 


    [1]: http://msdn.microsoft.com/en-in/library/aa243025%28v=vs.60%29.aspx 
1

उपयोग event.key और आधुनिक जे एस के लिए सच रिटर्न!

$(document).keypress(function(event) { 
    if (event.key === "r" && event.ctrlKey) { 
     // Do something 
    } 
}); 

या jQuery के बिना:

document.addEventListener("keypress", function onEvent(event) { 
    if (event.key === "r" && event.ctrlKey) { 
     // Do something better 
    } 
}); 

Mozilla Docs

Supported Browsers

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