事件ID,事件绑定开关

时间:2013-02-09 20:25:24

标签: javascript backbone.js jquery backbone-events

每个被解雇的事件都有一个id吗?

我还没有深入研究事件,现在我有一个带有一些按钮的视图(div),点击div本身应该像点击其中一个按钮一样。 当我点击任何按钮时,事件会提升,并且还会调用绑定到“click div”的函数。

对于我做的快速修复,我保存事件对象并在'click div'上检查calle事件是否与我保存的相同,然后什么都不做。 有什么更好的方法呢? 而且我也无法在事件中找到id,有没有,可以将它们添加到事件对象中吗?

if( arguments ){
    if( arguments[0] ){ // jquery event
        if( this.lastEvent == arguments[0] ){ //already processed event
            return;
        }
        this.lastEvent = arguments[0];
    }
}

更新 正如所建议的那样 - 在视图中我们做了什么:

events: {
    'click .btn-mark-saw': 'mark_saw',
    'click .btn-mark-circle': 'mark_circle',
    'click':'mark_circle'
},
mark_saw: function(event){
    event.stopPropagation();
    //...
    this.render();

},
mark_circle: function(event) {
    event.stopPropagation();
    //...
    this.render();
},

它有效,谢谢!

1 个答案:

答案 0 :(得分:1)

这应该符合您的目的。

$(document).ready(function(){
  $("#divID").live("click", function(){
      //div click action..
  });
  $("#buttonID").live("click", function(event){
      //button click action..
      event.stopPropagation();

  });
});

谢谢..