0

私の目標は、jquery「datepicker」の動作をシミュレートすることですが、カレンダーを表示する代わりに、選択可能なテーブルを表示したいと考えています。

Chrome と FF では動作するフィドルがありますが、IE8 では動作しません :( (皆さんが IE でフィドルを実行できるかどうかはわかりませんが、できない場合は、ローカル コピーを作成して IE で開いてください。ありがとう)

問題:

  1. IEでは、スクロールするとdivが非表示になるので修正しました

            $("#test_table_container").scroll(function() {
                if (myTimeOut) {
                    clearTimeout(myTimeOut);
                }
            });
    

    しかし、スクロールバーを(ドラッグする代わりに)クリックすると、divが非表示になります。矢印ボタンをクリックする場合も同様です。スクロールバーを最初にドラッグしてからスクロールバーをクリックしても、これは起こりません。

  2. タイムアウト期間 (90ms) は残念ながら非常に断続的です。tr で値を選択してから div を非表示にすることがありますが、tr のクリック イベントがトリガーされる前に最初に div を非表示にすることがあるため、値が反映されません。入力で。

4

1 に答える 1

1

setTimeoutこれにはハックは必要ありません。本体にa をバインドしてclickから委任を使用することで、より良い結果が得られる場合があります。

更新されたフィドルを参照してください: http://jsfiddle.net/dz9VC/1/

これは単なる大まかなコードですが、アイデアが得られ、必要に応じて最適化できます。更新されたフィドルは IE でも動作するはずです。特にIE8で機能しなかった理由は、おそらくボックスモデルの違いによるものです。

于 2013-10-01T06:13:46.993 に答える