在 IE 11 javascript 中输入事件没有被触发

In IE 11 javascript input event is not getting fired

我正在尝试使用范围控制获取 0 到 10 之间的分数。如果没有与范围控制进行交互,那么我需要禁用下一步按钮。这在 chrome 中工作正常,但在 IE 11 中,当范围值被更改时,下面的代码不会被调用。如何解决这个问题?

$( 'input[type="range"]' ).on( 'input', function () {

    var control = $( this ),
        controlMin = control.attr( 'min' ),
        controlMax = control.attr( 'max' ),
        controlVal = control.val(),
        controlThumbWidth = control.data( 'thumbwidth' );

    var range = controlMax - controlMin;

    var position = ( ( controlVal - controlMin ) / range ) * 100;
    var positionOffset = Math.round( controlThumbWidth * position / 100 ) - ( controlThumbWidth / 2 );
    var output = control.next( 'output' );

    output
        .css( 'left', 'calc(' + position + '% - ' + positionOffset + 'px)' )
        .text( controlVal );

    $( this ).attr( "data-modified", "1" );

    $( "#next" ).removeAttr( "disabled" );

} );

我认为 IE11 在更改范围输入的范围时触发更改事件,而不是输入事件。

这是一个有趣的 comparison