Javascript 如何在不实际单击的情况下手动触发主干单击事件

Javascript 如何在不实际单击的情况下手动触发主干单击事件,javascript,backbone.js,javascript-events,Javascript,Backbone.js,Javascript Events,我的主干事件处理程序设置如下: events : { "click .filter-options-container" : "filterOptionContainerClick", }, 对于其中一个.filter options容器元素,有一个场景,我希望在不实际单击的情况下触发“filterOptionContainerClick”函数。问题是函数需要访问event.currentTarget-所以我不能只调用函数-我必须模拟单击事件。我该怎么做?以下是该函

我的主干事件处理程序设置如下:

events : {
          "click .filter-options-container" : "filterOptionContainerClick",
    },
对于其中一个.filter options容器元素,有一个场景,我希望在不实际单击的情况下触发“filterOptionContainerClick”函数。问题是函数需要访问event.currentTarget-所以我不能只调用函数-我必须模拟单击事件。我该怎么做?以下是该函数:

filterOptionContainerClick: function(e){

      if (this.filtersEnabled){
        $(e.currentTarget).addClass('active');
      } else {
        return;
      }

    },

为什么不检查e是事件还是元素呢。然后你可以随心所欲地使用它

events: {
    'click .filter-options-container': 'filerOptionContainerClick',
},
//....
filterOptionContainerClick: function( obj ) {
    if( !this.filtersEnabled || !obj ) {
        return;
    }

    if( obj.currentTarget ) {
        $( obj.currentTarget ).addClass( 'active' );
    } else if( $( obj ) && $( obj ).hasClass( 'filter-options-container' ) ) {
        $( obj ).addClass( 'active' );
    }
 }
换句话说,您可以手动调用filterOptionContainerClick。比如:

 //.....
     this.filterOptionContainerClick( $( '.filter-options-container' ) );
 //....
如果需要为每个元素指定一个唯一标识符,则可以使用元素上的
id
属性,或者只使用自定义
数据属性(即