jQuery slide 在 Chrome 61.0.3163.100 中停止触发事件

jQuery slide stopped triggering events in Chrome 61.0.3163.100

三天前,这用于在移动滑块时打印控制台输出(每晚在 Firefox 中):

$(document).ready(function() {
  $('.slider').slider({
    slide: function() {
      console.log('slide');
    },
    change: function() {
      console.log('change');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<input type="range" min="0" max="10" value="0" class="slider" id="slider0" name="slider0"/>

今天,当我尝试它时(在 Chrome 61.0 中),它没有向控制台记录任何内容。我错过了什么,还是某种更新?

你可以这样写滑块

$("#installs").slider({min: 0,max: 500,step: 10,slide: function (event, ui){console.log("slide");},change:function(event,ui{console.log("updatge");}});

它不起作用的原因是 <input/> 它不打算用作 jQuery UI 的滑块。这适用于常规输入滑块,没有 jQuery UI:

$(function() {
  var prevVal = {};
  $('.slider').on('change mousemove', function () {
    var slider = $(this);
    if (slider.val() != (prevVal[slider.attr('id')] || 0)) {
      prevVal[slider.attr('id')] = slider.val();
      slider.trigger('slide');
    }
  });
  $('.slider').on('slide', function () {
    console.log('Sliding:', $(this).val());
  });
});