为什么我无法在此处触发“更改”事件?

时间:2019-07-26 18:20:28

标签: jquery events triggers

我是testing jQuery旋钮插件:

$(function() {
  $(".knob").knob({
    "width": 50,
    "height": 50,
    'change': function (value) {
      $('#display').html("some process: " + value);
    }
  });

  $('#random').click(function() {
    $(".knob").val(Math.random() * 100).trigger('change');
  });
});  

我手动拖动旋钮(使用鼠标),它可以正确地“触发”更改功能,并更改正确的值。

但是,如果我手动触发它(即单击后,.trigger()),它只是更改旋钮的值:它不会触发绑定的“更改”事件。

为什么?我该如何解决?

manual上看来我可以做到。

1 个答案:

答案 0 :(得分:1)

将“更改”更改为“发布”。

$(function() {
  $(".knob").knob({
    "width": 50,
    "height": 50,
    "release": function (value) {
       $('#display').html("some process: " + value);
    }
  });

  $('.knob').trigger(
  'configure',
   {
    "min": 0,
    "max": 100,

  })

  $('#random').click(function() {
    $(".knob").val(Math.random() * 100).change();
  });
});  

https://jsfiddle.net/an3r8fos/