2013-03-22 13 views
7

किसी कारण से मुझे नहीं पता कि बैकबोन व्यू में मेरा ईवेंट क्यों काम नहीं करता है। मैंने कुछ जवाब के लिए Google की कोशिश की लेकिन मुझे कुछ भी नहीं मिला जो मेरी मदद करेगा।बैकबोन घटनाएं काम नहीं कर रही हैं

मूल रूप से, मेरे कोड यह है:

रीढ़:

var ViniView = Backbone.View.extend({ 
    el: $('.container'), 
    events: { 
     "click .clickme" : "render" 
    }, 
    render: function() { 
     alert("please, work"); 
    } 
}); 

new ViniView; 

एचटीएमएल

<div class="container"> 
    <button class="clickme"> 
    test 
    </button> 
</div> 
+1

क्या आप http://jsfiddle.net/ उदाहरण दे सकते हैं? –

+1

क्या आपको किसी विशिष्ट आइटम को संदर्भित करने के लिए एल की आवश्यकता नहीं है, कक्षा नहीं? – explunit

उत्तर

4

आपका उदाहरण this fiddle में मेरे लिए ठीक काम करता है।

स्पष्टीकरण के रूप में, हालांकि, आपके el को किसी तत्व का संदर्भ देना चाहिए और एक jQuery ऑब्जेक्ट नहीं होना चाहिए। $el इसका ख्याल रखता है। the docs के अनुसार:

All views have a DOM element at all times (the el property), whether they've already been inserted into the page or not. 

जांचें कि आपने उसे Jquery, अंडरस्कोर और रीढ़ स्क्रिप्ट (इसी क्रम में) लोड कर रहे हैं। यह भी सुनिश्चित करें कि पृष्ठ तैयार होने के बाद आपको स्क्रिप्ट निष्पादित किया जा रहा है और नहीं, कहें, आपके डीओएम लोड होने से पहले (आपका विचार किसी भी चीज़ से अटैचमेंट नहीं कर रहा है)।

+2

हे दोस्त, धन्यवाद! मैंने जो गलती की है वह मेरी रीढ़ की हड्डी से मेरी रीढ़ की हड्डी को निष्पादित करना था। अब यह काम कर रहा है, धन्यवाद। –

+0

@ जे। विनीसियस सुनने के लिए अच्छा है! मैंने पहले ऐसा किया है ... –

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