我正在使用插件wheelZoom使用鼠标滚轮滚动和缩放。现在,我试图通过单击在新选项卡中添加打开图像的功能。问题在于,在dragging
期间,引发了click
事件。我需要隔离drag
和click
事件以启用不同的功能。我找到了一种方法来确定什么是drag
和什么是click
。如何将event
或当前单击的对象传递给处理单击的函数?
TS:
constructor(private $element: ng.IRootElementService) {
angular.element(function () {
const element = angular.element( document.querySelector( '#imageZoom' ) );
let drag = false;
element.bind('mousedown', () => drag = false);
element.bind('mousemove', () => drag = true);
element.bind('mouseup', () => console.log(drag ? 'drag' : this.openImgNewTab(noteObj)));
});
}
private openImgNewTab(noteObj){
//pass the event and\or the object that was clicked on?
//...
//.. open the image of the note in a new tab using noteObj.path
}
HTML:
<image-zoom class="thumbnail"
id="imageZoom"
image-url="{{ $ctrl.options.note.url}}">
</image-zoom>
答案 0 :(得分:0)
要区分事件的类型,请使用type
对象的event
属性:
element.on('mousedown mousemove mouseup click', (event) => {
console.log(event.type);
});
有关更多信息,请参见