मैं सिर्फ निम्नलिखित परीक्षण किया है और यह दोषरहित काम किया:
var view = Backbone.View.extend({
// ... snip ...
events: {
'keyup :input': 'logKey'
,'keypress :input': 'logKey'
}
,logKey: function(e) {
console.log(e.type, e.keyCode);
}
});
मैं वापस जाने के लिए और अपने कोड की जांच चाहते हैं। बैकबोन में सभी घटनाओं को viewInstance.el
तत्व से जुड़े प्रतिनिधियों के रूप में परिभाषित किया गया है। घटनाओं को अनइंड करने के लिए, viewInstance.remove()
पर कॉल करें जो कवर के तहत $(viewInstance.el).remove()
पर कॉल करता है और सभी प्रतिनिधि कार्यक्रमों को साफ़ करता है।
भी ध्यान रखें कि कुछ ब्राउज़रों में (फ़ायरफ़ॉक्स मेरा मानना है कि) वहाँ एक ज्ञात मुद्दा है कि कुछ चाबियाँ (तीर कुंजी) की तरह बुलबुला नहीं है और प्रत्यायोजित keypress
घटनाओं के साथ ठीक से काम नहीं करेगा। यदि आप विशेष कुंजी पकड़ रहे हैं, तो आप keyup
और keydown
का उपयोग कर शायद बेहतर हो सकते हैं।
आपकी गैलरी रीढ़ की हड्डी दृश्य या स्टैंडअलोन एचटीएमएल + जेएस है? –
यह रीढ़ की हड्डी का दृश्य है। –
हमें 'keydown' घटनाओं के लिए अपने चयनकर्ता दिखाएं ... मुझे लगता है कि आप उन्हें गलत तत्वों के लिए बाध्यकारी करते हैं –