0

我有一小块像这样的jQuery:

$('.remove-header').on('click',function(){
  arc.event_handler.remove_header_click.call(this);
});

.remove-header 嵌套在一个类似的对象中,所以我需要调用 event.stopPropogation 但通常我会传递这样的引用:

$('.remove-header').on('click',function(event){
  arc.event_handler.remove_header_click(event);
});

我如何将这两者结合成一个电话?我尝试过的几件事似乎没有奏效。

谢谢

4

2 回答 2

1

传递event对象可以简单地通过将其作为附加参数传递给.call

$('.remove-header').on('click',function(event){
  arc.event_handler.remove_header_click.call(this, event);
});

查看. _.call

但是您也可以像jfriend00 显示的那样直接停止事件处理程序内部的传播。

于 2012-08-07T23:27:04.540 回答
1

我不是 100% 确定我知道你在问什么,但你不能这样做:

$('.remove-header').on('click',function(event){
     event.preventDefault();
     arc.event_handler.remove_header_click.call(this, event);
});
于 2012-08-07T23:27:23.260 回答