jquery - 为什么我无法在这里触发“更改”事件?
问题描述
我正在测试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');
});
});
II 手动(用鼠标)拖动旋钮,它正确地“触发”了更改功能,并更改了正确的值。
但是,如果我手动触发它(即.trigger()
单击后),它只会更改旋钮的值:它不会触发绑定的“更改”事件。
为什么?我该如何解决?
在手动看来我可以做到。
解决方案
将“改变”改为“释放”。
$(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();
});
});