3

ダイアログの最初のフィールドが日付ピッカーである jQuery ダイアログを使用すると、興味深いバグが見つかりました。IE でダイアログを開くと、最初のフィールドの日付ピッカーが自動的に開きます。これは、他のブラウザでは発生しません。IEでこれが起こらないようにする方法を知っている人はいますか?

セクションに a を入れようとし.blur()ましたdocument.readyが、うまくいきませんでした。他の誰かがこの問題を見たことがありますか?

MVC3 と IE8 を使用しています

4

1 に答える 1

1

実際、@ManseUK のソリューションには問題があります。ダイアログが開かれ、ユーザーが日付ピッカーのテキストボックスをクリックすると、最初は開きません。このソリューションは、予想されるすべてのケースで機能するはずです。

作成者が誰なのかはわかりませんが、CleanCode.co.nzで解決策を見つけました。

HTML

<input type="button" value="Show Popup" id="button"/>
<div id="popup">
    <div>
        Date: <input type="text" id="datePicker3" >
    </div>
    <div>
        Name: <input type="text" id="UserName">
    </div>
</div>​

jQuery

$(document).ready(function() {
    $("#popup").dialog({
        autoOpen: false,
        resizable: false,
        height: 300,
        width: 400,
        modal: true,
        open: function() {
            $('#datePicker3').removeAttr("disabled");
        },
        close: function () {
            $('#datePicker3').datepicker('hide');
        }
    });

    $("#datePicker3").datepicker();

    $("#button").click(function() {
        $('#datePicker3').attr("disabled", true);

        $("#popup").dialog("open");
    });
});​

ワーキング JSFiddle

*jQuery UI を有効にして、[実行] をクリックする必要があります

于 2012-06-06T16:22:51.893 に答える