1

所以对于触摸设备,我有几个事件监听器用于touchstarttouchmove。其他所有事件都有由 jQuery 绑定的事件,但由于某种原因,这不适用于触摸事件,因此它们使用 javascript 绑定:

document.addEventListener('touchstart', this.touchstart);
document.addEventListener('touchmove', this.touchmove);

这样做的问题是,当我想从 jQuery 绑定事件中触发事件时,我可以使用,例如:

this.scrollContainer();

但是,在 javascript 绑定事件中的上下文this是不同的,这意味着我不能以这种方式触发事件。

我的问题是,是否可以从 javascript 绑定事件中触发此事件?如果是这样,怎么做?

4

1 回答 1

2

您需要使用_.bind()将自定义上下文传递给回调

document.addEventListener('touchstart', _.bind(this.touchstart, this));
document.addEventListener('touchmove', _.bind(this.touchmove, this));
于 2013-07-11T09:58:55.927 回答