所以我有一个主视图,里面有一组对象。物体将在旋转木马中左右滑动。
我有一个事件绑定在主视图中的mousedown 内,以跟踪他们在此期间滚动鼠标的距离。但是,如果他们在按住鼠标的同时滚动主视图元素,我仍然希望跟踪距离以及触发mouseup事件的时刻。
整合像这样的UI逻辑有什么好办法,这种逻辑以本地骨干视图开头,但是有触发元素的事件?我觉得有一些陷阱,特别是在未来可读性方面,如果我要在全球和本地观点上展开这些功能。
答案 0 :(得分:2)
我认为您必须将鼠标事件捕获器移出CarouselView。实际上并不那么奇怪。
您可以定义el
为body
的ElasticView。它包含CarouselView,其主要工作是在CarouselView.$el
中收听 mousedown ,并且还可以在document.body
中收听 mouseup 。< / p>
如果在ElasticView构造函数中将其添加为param,它也可以直接与CarouselView进行通信。或者可以通过 EventAggregator 或通用模型等进行通信。