私のアプリケーションでは、ユーザーがスピナーに特定の値を入力したら、ビューのコンテンツを変更する必要があります。このプロセスの一環として、スピナーを破棄して削除する必要があります。
問題は、スピナーがループに入り、その値を無限にインクリメントすることです。サンプルコード:
spinner = $( "#spinner" ).spinner({
change: function( event, ui ) {
console.log('change');
},
spin: function( event, ui ) {
console.log( 'spin event, value = ', ui.value );
if ( ui.value == 3 ) {
spinner.spinner( "destroy" );
}
}
});
次のサンプルを確認してください: http://jsfiddle.net/XseWc/312/
値を 3 回増加: クリック、クリック、クリック
これはどのように達成できますか?
更新: ここでは 2 つのオプションを利用できます。
- スピンの代わりに停止イベントを使用するには。
- スピナーを破壊する前にマウスアップイベントをトリガーします。マウスを離すと、スピナーはハンドラーを削除し、破壊は正しく機能します。