2013-08-03 107 views
0

在此骨干视图中,视图正在初始化,但是当单击带有“.insert-link”类的按钮时,不会触发insertLink事件。有没有什么我想念的事情没有绑定事件?非常感谢您的帮助!骨干事件不会触发点击 - 没有正确指定事件?

MyView.Show = Backbone.View.extend({ 

    events: { 
    "click .insert-link": "insertLink" 
    }, 

    initialize: function(options) { 
    _.bindAll(
       this, 
       "insertLink" 
      ); 
    }, 

    insertLink: function(e){ 
    console.log("triggered at last!"); 
    } 
}); 

这是DOM的相关部分:

<div id="insert_link"> 
    <a href="#" class='insert-link btn btn-mini' data-landing-page-id="<%= current_user.default_landing_page_id.to_s %>"> 
     Insert Link 
    </a> 
</div> 


    <script type="text/javascript"> 
    $(function(){ 
    new MyView.Show({ 
     el: $('#insert_link') 
    }); 
    }); 
    </script> 
+0

你的dom看起来像什么? –

+0

嗨Trunal我添加了DOM – user2040608

+0

oops - 好的,el现在有 – user2040608

回答

0

你的代码按预期隔离(http://jsfiddle.net/7nYhD/1/

var MyView = {}; 

MyView.Show = Backbone.View.extend({ 

    events: { 
     "click .insert-link": "insertLink" 
    }, 

    initialize: function(options) { 
     _.bindAll(
      this, 
      "insertLink" 
     ); 
    }, 

    insertLink: function(e){ 
     console.log("triggered at last!"); 
    } 
}); 

$(function(){ 
    new MyView.Show({ 
    el: $('#insert_link') 
    }); 
}); 

这意味着你的问题是更可能是与:脚本以错误的顺序加载,使用旧版本的脚本,或者在代码在完全访问dom之前执行。

检查所有这些事情,如果你仍然有问题,也许你提供更多的细节/代码。