我正在使用jquery ui spinner,我想在spinner stop事件上调用一个函数。
我不希望每次停止事件都调用该函数,只有当用户停止点击向上或向下箭头时。
更改事件仅适用于文本框丢失焦点,我希望文本框处于焦点时。
先谢谢..
答案 0 :(得分:0)
如果您希望在一系列点击结束后触发回调,则可以使用_.debounce
。这是代码和plunker:
$(function(){
var expectedDelayBetweenClicks = 500;
var element = $("input");
element.spinner({
start: function(e, ui) {
$('.selected-value').text('Waiting...');
},
stop: _.debounce(function(e, ui) {
$('.selected-value').text(e.target.value);
}, expectedDelayBetweenClicks)
})
});
这可以保证只有在几次点击后才会触发回调,如果这些点击之间的延迟是500毫秒。您可以根据用户点击微调器的速度来减少此延迟或增加延迟。