jQuery幻灯片停止在Chrome 61.0.3163.100中触发事件

时间:2017-10-09 08:25:52

标签: jquery google-chrome jquery-ui jquery-ui-slider

三天前,这用于在移动滑块时打印控制台输出(在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中)时,它不会将任何内容记录到控制台。我错过了什么,还是某种类型的更新?

2 个答案:

答案 0 :(得分:0)

它不起作用的原因是<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());
  });
});

答案 1 :(得分:-1)

您可以像这样编写滑块

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