पर आयोजित नियंत्रण कुंजी का पता लगाएं मैंने एक अच्छा सौदा खोजा है, और एक संतोषजनक समाधान नहीं लग रहा है। मुझे आशा है कि कोई मदद कर सकता है।जावास्क्रिप्ट माउसअप
जबकि मैं jQuery का उपयोग कर रहा हूं, मैं जावास्क्रिप्ट की कई हजारों पंक्तियां भी लिख रहा हूं। तो एक "शुद्ध" जावास्क्रिप्ट समाधान ठीक है।
मैं यह निर्धारित करने की कोशिश कर रहा हूं कि नियंत्रण कुंजी को माउसअप ईवेंट पर शारीरिक रूप से दबाया गया है या नहीं। बस; कोई अन्य पूर्व शर्त नहीं हैं। क्या कोई इस भरोसेमंद, क्रॉस-ब्राउजर को कैसे करना है?
मैं जब कुंजी दबाया जाता है और जारी की है टिप्पण द्वारा एक राज्य चर में इस भंडारण की कोशिश की है:
// BEGIN store control key status in hash_state
$().bind('keydown','ctrl',function(arg_obj_e){
hash_state.sw_ctrldn = true;
console.debug(hash_state.sw_ctrldn);
});
$().bind('keyup','ctrl',function(arg_obj_e){
hash_state.sw_ctrldn = false;
console.debug(hash_state.sw_ctrldn);
});
// END store control key status in hash_state
बहरहाल, यह वास्तव में काम नहीं करता। यदि आप फ़ायरबग का उपयोग करके इसका परीक्षण करते हैं और कंसोल देखते हैं, तो आप देखेंगे कि ऑटो-दोहराना प्रतीत होता है, और मान टॉगल करता है।
मैं mouseup घटना का निरीक्षण किया, अगर वहाँ कुछ भी उपयोगी है वहाँ देखने के लिए, लेकिन कोई लाभ नहीं हुआ:
var debugEvent = function(arg_obj_e){
var str = '';
for (var attr in arg_obj_e){
str += attr + ': ' + arg_obj_e[attr] + '\n';
}
console.debug(str);
}
किसी भी मदद की सराहना की जाएगी।
वाह, मुझे नहीं पता था कि jQuery समर्थित कुंजी घटनाओं को इस तरह से। मुझे इसका कोई दस्तावेज नहीं मिल रहा है। इसके अलावा, $()। बाइंड() (खाली jQuery) काम करता है, या वह सिर्फ शॉर्टेंड है? यदि हां, तो क्या यह $ (दस्तावेज़) से जुड़ा हुआ है? – eyelidlessness
@eyelidlessness: उस तरह की बाध्यकारी जेएस-हॉटकीज नामक एक प्लगइन से है http://code.google.com/p/js-hotkeys/ – CMS