jQuery .live()+日期选择器+漂亮的照片无法在IE中触发

时间:2012-03-21 06:17:18

标签: jquery jquery-ui

我在我的应用程序中使用以下内容

  • 来自jQuery UI的DatePicker
  • 漂亮的照片。

当我按某个链接时,PrettyPhoto弹出窗口会打开一个输入字段,该字段应触发DatePicker。

我设法使用这段代码使DatePicker正常工作:

$(function(){ 

    $('#date_pp').live('click',function (){
        $(this).datepicker('destroy').datepicker().focus();
    });
});

现在除了Internet Explorer之外,所有浏览器都能正常运行。 我只是猜测IE在.live()方法中存在一些问题,因为它甚至无法运行虚拟警报消息。很奇怪他们的官方网站上的jQuery示例工作。

超过here我对这个问题嗤之以鼻,并尝试了他们的方法。这也不起作用。

2 个答案:

答案 0 :(得分:1)

在click函数之外定义datepicker并使用document ready

$(document).ready(function(e) 
{
      $('#date_pp').datepicker();
}

答案 1 :(得分:0)

我设法找到问题

在jQuery教程之后,我将datepicker js代码放在同一个文件中,该字段触发了datepicker。这个文件是用PrettyPhoto动态插入DOM的。

$(document).ready(function(){ 
    $('#date_pp').live('click',function (){
        $(this).datepicker('destroy').datepicker().focus();
    });
});

我从上述文件中删除了此代码,并在单独的.js文件中重写了该代码。然后我简单地在父文档中声明了代码(发生了所有这些)头文件:

<script src="js/action.js" type="text/javascript"></script>

现在一切正常,包括IE在内的所有浏览器