2012-03-21 26 views
1

觸發我用我的應用程序下面的jQuery UI的 的jQuery .live()+日期選取器+漂亮的照片無法在IE

  • 漂亮的照片

    • 的DatePicker。

    當我按下某個鏈接時,PrettyPhoto彈出窗口打開,並顯示一個應該觸發DatePicker的輸入字段。

    我設法與這段代碼正確地做出的DatePicker工作:

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

    現在一切工作除了IE的所有瀏覽器就好了。 我只是猜測IE瀏覽器與.live()方法有一些問題,因爲它甚至無法運行虛擬警報消息。奇怪的是,他們的官方網站工作jQuery的例子。

    超過here我對這個問題有些紅色,並嘗試過他們的方法。這也不起作用。

  • 回答

    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

    1

    定義點擊功能的日期選擇器之外,它doucment準備,

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

    這不會在任何瀏覽器中運行。原因是觸發DatePicker的輸入是用Pretty Photo動態插入的。這就是爲什麼需要'.live()'方法 – Ionut 2012-03-21 06:35:30

    相關問題