0

每个触发的事件都有一个 id 吗?

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

对于我所做的快速修复,我保存事件对象并在“单击 div”上检查调用事件是否与我保存的相同,然后什么也不做。这样做的更好方法是什么?而且我也无法在事件中找到 id,有没有可以将它们添加到事件对象中?

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

更新: 按照建议- id 做了什么,鉴于:

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();
},

它有效,谢谢!

4

1 回答 1

1

这应该符合您的目的。

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

  });
});

谢谢..

于 2013-02-09T21:23:09.960 回答