Angular2自定义指令鼠标滚轮在IE 11中不起作用。

时间:2016-12-07 06:45:50

标签: angular typescript angular2-directives

我已经为mousewheel写了一个指令。它与chrome和firefox工作正常,但是没有在IE中工作。我有一个下拉列表,当我在内部滚动下拉时,整个页面得到滚动。我写了一个指令但是它在chrome和firefox中运行良好,但在IE中不行。我正在关注以下链接。

[enter link description here][1] 




  [1]: http://plnkr.co/edit/dejs2Fo2YjrOK9EiJJve?p=preview

mousewheel.directive.ts

import { Directive, Output, HostListener, EventEmitter, ElementRef,Renderer } from '@angular/core';

@Directive({
    //selector: '[scroller]',
    selector: '[scroller]',
})
export class ScrollerDirective {
    constructor(private elRef: ElementRef, private renderer: Renderer) {
        renderer.listen(elRef.nativeElement, 'wheel', (e:any) => {
            let el = elRef.nativeElement;
            let conditions = ((el.scrollTop +  el.offsetHeight >  el.scrollHeight)) && e.deltaY > 0 || el.scrollTop === 0 && e.deltaY < 0;
            if (conditions) {
                e = e || window.event;
                if (e.preventDefault)
                    e.preventDefault();
                e.returnValue = false; 
            } 
        })

    }

}

HTML

<ul scroller class="dropdown-menu alert-dropdown addscroll" aria-labelledby="name2">
                            <li *ngFor="let errorcode of tabItems">
                                <a (click)="filterCode(errorcode?.clientCode, 'clintcode')" class="dropdown-item">{{ errorcode?.clientCode}}</a>
                            </li>
                        </ul>

0 个答案:

没有答案