任何scrollTop任务上的火焰滚动事件

时间:2017-11-06 22:17:53

标签: javascript html

在我的代码中,我将一个整数值赋给myHTMLScrollBarEl.scrollTop属性,并期望触发滚动事件。但是当值等于现有值时,没有任何事情发生。

我怎样才能每次都强制滚动事件?

2 个答案:

答案 0 :(得分:1)

要在代码后使用$(window).scroll();来触发滚动事件。使用代码设置滚动位置不会触发滚动事件本身。

使用纯Javascript(reference)触发滚动事件:

function triggerEvent(el, type){
   if ('createEvent' in document) {
        // modern browsers, IE9+
        var e = document.createEvent('HTMLEvents');
        e.initEvent(type, false, true);
        el.dispatchEvent(e);
    } else {
        // IE 8
        var e = document.createEventObject();
        e.eventType = type;
        el.fireEvent('on'+e.eventType, e);
    }
}

//An finally fire it
triggerEvent(window, 'scroll');

答案 1 :(得分:0)

已弃用other answer中所述的document.createEventevent.initEvent。如here所述。

this page开始,现在创建和触发事件实例的首选方法是

var scrollEvent = new Event('scroll', {
    bubbles: true,
    cancelable: false,
    composed: false,
});
myHTMLScrollBarEl.dispatchEvent(scrollEvent)