2016-10-17 18 views
0

jquery ui spinnerを使用しています。スピナー停止イベントで関数を呼び出す必要があります。jquery uiスピナー停止イベントで関数を呼び出す方法

私は、停止イベントごとにその関数を呼びたくはなく、ユーザーが上向き矢印または下向き矢印をクリックして停止したときにのみ呼び出します。

イベントを変更すると、テキストボックスのフォーカスが失われます。テキストボックスにフォーカスがある場合は、フォーカスが必要です。

事前に感謝..

+0

_私は、停止イベントごとにその関数を呼びたくない場合にのみ、ユーザーが上向き矢印または下向き矢印をクリックして停止したときにのみこれを明確にすることができますか? –

+0

はい..スピナーの値を変更する遅延があります。 – thaya

+0

例えば、現在のスピナー値は5で、増分値は1で、最大値は10になります。上向き矢印を3回連続してクリックすると、機能が増分値ではなく呼び出されます。 – thaya

答えて

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ミリ秒であれば、わずか数回のクリック後にトリガされるコールバックすることを保証します。この遅延を減らすか、ユーザーがスピナーをクリックすると予想される速さに基づいて遅延を増やすことができます。

+0

テキストボックスのすべての変更のために、この作品。テキストボックスの値を10から100に変更したい場合は、入力した後にトリガーしたいと思います。 – thaya

+0

@thaya、[plunker](https://plnkr.co/edit/DrpxW4KgiIWEg9eu1YnV?p=preview)をチェックしてください –

+0

@thaya 、 チェックしましたか? –

関連する問題