2011-01-19 56 views
1

我試圖搜索任何線索,但沒有發現任何。下面的頁面看看:Firefox不會渲染<input>內部JQuery模式對話框

http://jqtest.encorephoenix.com/withinput.aspx(JQuery的模式彈出與<input>

彈出在IE,Chrome瀏覽器,Safari和Opera正確呈現。 Firefox 3.6.13不會正確呈現彈出窗口。您可以在相同的URL上查看withoutinput.aspx以查看Firefox正確呈現它,因爲此頁面沒有<input>元素。我曾嘗試與沒有解決這一特殊問題如下:

  • 更改DOCTYPE
  • 用來包圍<input>
  • 用來包圍<input>
  • 用於<input>
所有可能的CSS顯示屬性

任何建議將不勝感激。

回答

0

div位於頁面頂部。現在我能夠通過爲類添加margin-top 100px來獲得顯示效果

.ui-dialog .ui-dialog-titlebar 
{ 
margin-top:100px; 
} 

我正在探索更多關於它的內容。但其他人可以嘗試使用 彈出窗口在IE9上也無法正常工作。

0

問題可能與調用ready事件時運行的函數有關。

如果我貼這個功能到螢火蟲控制檯,並運行它,則顯示模式窗口:

$(function() { 
    var dlg = jQuery("#divPopup").dialog({ 
     modal: true, 
     draggable: true, 
     resizable: false, 
     show: 'Transfer', 
     hide: 'Transfer', 
     height: 400, 
     width: 480, 
     minHeight: 400, 
     minWidth: 480, 
     autoOpen: false 
    }); 
    dlg.parent().appendTo(jQuery("#form1:first")); 
}); 

這表明,當這就是所謂的第一次,它沒有被正確地綁定到DOM元素。 HTML驗證錯誤可能是相關的,或者是文檔類型。

我在HTML驗證器中看到警告,系統認爲它是不同的文檔類型。此外,以非標準方式使用元素可能會導致此類行爲。

  • 此問題的解決方案是逐步減少頁面上的元素,直到問題消失,然後再緩慢添加元素,直到找到拋出解析器的元素爲止。
  • 或者,修復文檔類型,使其與所使用的HTML編碼標準相匹配。
1

的修復在http://forums.asp.net/t/1643984.aspx建議由mayur.unagar和它的作品在所有的瀏覽器包括Firefox,當然。 :)

如果您不想訪問該鏈接,修復方法是從1.8.8 JQuery UI的自定義CSS中刪除.ui-dialog類中的{overflow:hidden;}。我已經在所有主流瀏覽器發佈版本中測試過它。