2014-01-26 2 views
0

У меня проблема с использованием backbone.js, этот мой код.Массивный вид не может работать clickAction метод

<div id="dx-container"> 
    <aside id="dx-sidebar"> 
     <button>SLIDE</button> 
    </aside> 
    <section id="dx-content"> 
     CONTENT CONTENT<br/> 
    </section> 
</div> 

<script type="text/javascript" src="js/library/jquery/jquery-2.0.2.min.js"></script> 
<script type="text/javascript" src="js/library/underscore/underscore-min.js"></script> 
<script type="text/javascript" src="js/library/backbone/backbone-min.js"></script> 
<script> 
    var View = Backbone.View.extend({ 
     el: '#dx-content', 
     initialize: function() { 
      this.heloo(); 
     }, 
     events: { 
      "click button": "clickAction" 
     }, 
     heloo: function(){ 
      this.$el.html("Hello World"); 
      console.log("Hello World Sucess"); 
     }, 
     clickAction: function(e){ 
      this.$el.html("Click Action Success"); 
      console.log("Click Action Success"); 
     } 
    }); 
    var tes = new View(); 
</script> 

Когда кнопка клика, магистральный вид не может запустить метод clickAction, но если этот метод запуск с помощью конструктора это может работать, кто-нибудь может мне помочь, спасибо. enter image description here

+2

делегация Событие делается в рамках '# DX-Content' и нет ни одной кнопки. Сделайте масштаб более широким, установив его в '# dx-container' или щелкнув по кнопке с помощью' $ ('# dx-sidebar button'). On ('click', fn) 'или что-то еще. –

ответ

0

Тел должны быть на # DX-контейнера:

var View = Backbone.View.extend({ 
    el: '#dx-container', 
    initialize: function() { 
     this.heloo(); 
    }, 
    events: { 
     "click button": "clickAction" 
    }, 
    heloo: function(){ 
     this.$el.html("Hello World"); 
     console.log("Hello World Sucess"); 
    }, 
    clickAction: function(e){ 
     this.$el.html("Click Action Success"); 
     console.log("Click Action Success"); 
    } 
}); 
var tes = new View(); 
+0

благодарим за помощь – denyptw

0

I можно спутать с точно, что это your'e вопрос, но от того, что я получаю из вашего вопроса является то, что, когда вы просматриваете свою страницу в своем редакторе, все работает отлично, но как только вы загружаете ее в Интернет, она перестает работать? Если это то, что вы имеете в виду, то более чем вероятно, это проблема src="".

Пример: Когда вы просматриваете свою страницу из редактора, она может ссылаться на ваши файлы сценариев, поскольку они находятся на вашем компьютере с вашей страницей. Итак, все будет хорошо.

<script type="text/javascript" src="js/library/jquery/jquery-2.0.2.min.js"></script> 
<script type="text/javascript" src="js/library/underscore/underscore-min.js"></script> 
<script type="text/javascript" src="js/library/backbone/backbone-min.js"></script> 

Однако, как только вы загрузите страницу, которую вы также должны загрузить свои .js файлы в точный путь, который он показывает выше, или просто заменить путь с точным знать местоположение:

<script type="text/javascript" src="http://www.yoursite.com/path/to/jquery-2.0.2.min.js"></script> 
<script type="text/javascript" src="http://www.yoursite.com/path/to/underscore-min.js"></script> 
<script type="text/javascript" src="http://www.yoursite.com/path/to/backbone-min.js"></script> 

Если это не то, что вы просите, тогда я извиняюсь, это немного неясно.

0

Спасибо за помощь, кнопка должна быть на # DX-контейнер

var View = Backbone.View.extend({ 
    el: '#dx-container', 
    initialize: function() { 

    }, 
    events: { 
     "click button": "clickAction" 
    }, 
    clickAction: function(){ 
     this.$el.append("Click Action Success"); 
    } 
}); 
var tes = new View(); 
Смежные вопросы