【问题标题】:Why I'm not able to trigger the "change" event here?为什么我无法在这里触发“更改”事件?
【发布时间】:2019-07-26 18:20:28
【问题描述】:

我是testing jQuery Knob 插件:

$(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 看来我可以做到。

【问题讨论】:

  • 你的意思是点击随机按钮不会触发更改?
  • @Keith 是的,它应该触发旋钮内部的更改方法

标签: jquery events triggers


【解决方案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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 2016-09-03
    • 2019-04-22
    • 2018-06-02
    • 2011-06-19
    • 2014-09-02
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多