1
$('fltr1').onfocus = function() {
                    $('fltr1').setStyle({width: "auto"});
                } 

Prototype.js を使用して、ユーザーがクリックしたときに IE7 互換のドロップダウン メニュー ボックスの幅を自動に変更しようとしています。現在、ユーザーがこのボックスをクリックすると、幅が正常に拡大されますが、ボックスは再度クリックするまで開かず、2 回クリックする必要があります。最初のクリックで展開し、2 回目のクリックでボックスが開き、項目を選択できます。最初のクリックで幅の設定イベントがトリガーされ、他のすべてが停止してドロップダウンが強制的に閉じられるようなものです。onclick を試してみましたが、同じことを行い、幅を調整しますが、2 回目のクリックまでドロップダウンを閉じます。

これを 2 回クリックする必要がないようにするにはどうすればよいですか? 幅を設定するときにドロップダウンが閉じる原因は何ですか?

4

1 に答える 1

0

IE7 の現在のアプローチでこれを機能させることはできないと思います。ブラウザーが選択ボックスを再描画すると、ドロップダウンが閉じます。クリック イベントで手動で再度開くことは可能だと思うかもしれませんが、ネイティブの選択ボックスでは不可能です。次のディスカッションを参照してください 。マウスオーバーする)?

回避策として、サイズ変更をマウスオーバー イベントに移動できますか? 他のブラウザーでの動作を保持したい場合にのみ、IE7 で使用できますか?

$('fltr1').onmouseover = function() {
    this.setStyle({width: "auto"});
}
于 2012-10-31T18:03:35.677 に答える