0

jQuery 1.7.1 と jQueryUI 1.9.1 を使用しています。

スピナーがあり、それが変更されるたびに、スピナーの数字と一致するようにテキスト フィールドが作成または削除されます。ボタンを押し続けると、数値が急速に変化し、大量のフィールドが作成または削除されます。

クライアント側なので大きな問題ではありませんが、私は好きではありません。そのため、ユーザーがスピナー ボタンを押したままにすると、急速な回転を無効にしたいと考えています。

次のように、 incrementalの関数を使用して解決策を思いつきました。

var incrementalFunction = function(numOfSpins) {
    if (numOfSpins == 1) {
        return 1;
    }
    return 0;
};

これは最初はうまくいきましたが、別の問題を引き起こしました。新しく作成された各テキスト ボックスの横に、要素を削除してスピナーをデクリメントする「削除」ボタンを作成しました。しかし、stepDownメソッドを呼び出すと、何らかの理由で、numOfSpins呼び出されるたびに増加するインクリメンタル関数が呼び出されます。したがって、1回だけ減少します。

ユーザーがインクリメント/デクリメント ボタン (またはキーボードの上下矢印) を押さないようにするためのより簡単な解決策はありますか?

4

2 に答える 2

1

jQuery UI 1.10 にアップグレードすると、問題はなくなります。https://github.com/jquery/jquery-ui/commit/0d53fbfd0b7651652601b3b8577225ab753aab44を参照してください。これによりstepUp()stepdDown()期待どおりに動作します。

于 2013-05-10T18:00:15.093 に答える