我正在开发将在 windows IE webview 上运行的 PhoneGap 应用程序。在应用程序中,我们使用了下面提到的 DatetimePicker 插件:jQuery DateTimePicker Plugin ( http://umcdatetimepicker.codeplex.com )
这个插件在所有 Mac 上都能完美运行,但是它在 Windows webview 上的行为很奇怪,因为它的 onClose 函数确实可以按预期工作。
我们在日历图像的点击上显示日历。如果我单击屏幕上的任何位置,日历就会关闭。然而,它只是隐藏起来,并且没有事件在日历关闭时触发。我已经对测试用其他逻辑触发了警报。我已经编写了自己的 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 事件?
问候, 吉滕德拉