事件ID,事件绑定开关式

事件ID,事件绑定开关式

问题描述:

是否有每个触发事件的ID?事件ID,事件绑定开关式

我还没有深入了解事件,现在我有了一些按钮的视图(div),点击div本身应该像点击其中一个按钮一样。 当我点击任何按钮时,事件升高,绑定到'点击div'的功能也被称为。

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

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

UPDATE: 的建议 - 什么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(); 
}, 

它的作品,谢谢!

+1

我不能完全肯定,但它听起来像你想'e.stopPropagation()'以防止点击一个按钮从触发DIV点击。 – pimvdb 2013-02-09 20:29:46

+0

不,我需要正确的事件绑定/其他正确的方式来做到这一点,比如'click .button','click .button2','click div:not(.buttons)' – Hontoni 2013-02-09 20:46:32

这应该是您的目的。

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

    }); 
}); 

谢谢..