1

Windows IE webview で実行される PhoneGap アプリケーションを開発しています。アプリケーションでは、下記の DatetimePicker プラグインを使用しています: jQuery DateTimePicker Plugin ( http://umcdatetimepicker.codeplex.com )

このプラグインはすべての Mac で完全に動作しますが、onClose 関数が期待どおりに動作するため、Windows WebView では奇妙な動作をします。

カレンダー画像をクリックするとカレンダーが表示されます。画面上のどこかをクリックすると、カレンダーが閉じます。ただし、非表示になり、カレンダーの終了時にイベントが発生しません。他のロジックで起動するテスト用のアラートを設定しました。メインのプラグイン アクションを上書きする独自の onSelect および onClose イベントを作成しました。

上記のように、カレンダーは非表示になりますが、イベントは呼び出されません。カレンダーをクリックするとカレンダーを非表示にした後、onCloseイベントが発生し、テスト目的で使用されるアラートがスローされます。これは、カレンダー画像でのみ onClose イベントを正しく起動できることを意味します。どちらのイベントも IE7/8 ブラウザーでは完全に機能しますが、onClose イベントは IE Webview では機能しません。複数のことを試しましたが、うまくいきませんでした。これが私のコードです

$("#datetimepicker").datetimepicker({
            onSelect:function($this){
                //alert($this);
               alert("i am selected");
            $(this).data('datepicker').inline = true;
            var hour = $('.ui-datepicker .dateimepicker-hour').val();
            //alert (hour);
                var minuts = $('.ui-datepicker .dateimepicker-minuts').val();
                //alert (minuts);
                var second = $('.ui-datepicker .dateimepicker-second').val();//alert (second);

                var time = hour + ":" + minuts + ":" + second;
                //alert (time);
                //alert($this +" "+ time);
            $("#datetimepicker").attr("value",$this +" "+ time);
            },
            onClose: function() {
                alert("its on close");
                var currentsetdate = $(this).val();
                if(currentsetdate == ""){}
                else{
                //alert (currentsetdate);
                var onlydate = currentsetdate.split(' ')[0];
                //alert (onlydate);
             $(this).data('datepicker').inline = false;
             var hour = $('.ui-datepicker .dateimepicker-hour').val();
            //alert (hour);
                var minuts = $('.ui-datepicker .dateimepicker-minuts').val();
                //alert (minuts);
                var second = $('.ui-datepicker .dateimepicker-second').val();//alert (second);

                var time = hour + ":" + minuts + ":" + second;
                //alert (time);
                 $("#datetimepicker").attr("value",onlydate +" "+ time);
                }}

制限コードについて考えている人はいますか。誰かが解決策を得るのを手伝ってくれると良いでしょう。カレンダーの onClose イベントを本体のどこにでもバインドすることは可能ですか?

よろしく、ジテンドラ

4

0 に答える 0