jquery - 为什么我这里无法触发 "change"事件?

标签 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()),它只会更改旋钮的值:它不会触发绑定(bind)的“更改”事件。

为什么?我该如何修复它?

关于manual看来我可以做到。

最佳答案

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

$(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/

关于jquery - 为什么我这里无法触发 "change"事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57225270/

相关文章:

swift - 我怎样才能使这个 Swift 事件处理程序样板更简洁?

javascript - 根据条件允许/阻止默认事件

MySQL 触发器 IF 语句错误(不会创建)

mysql - 这个用于排名的 MySQL 触发器有什么问题?

jquery - 如何使用 css 属性动态定位 html 表格?

jQuery - 更优雅的脚本编写方式

javascript - TypeError: a 在 jquery 中第一行未定义?

jquery - 使用 cshtml 中返回的 JQuery FOREACH 行切换可见性

silverlight - Silverlight:线程/延迟的操作/异步调用/事件

sql - oracle触发器上的编译错误