2016-07-11 57 views
0

以編程方式打開jQuery Mobile彈出窗口導致javascript運行時錯誤。jQueryMobile - 以編程方式打開彈出窗口失敗,出現js錯誤

0x800a138f - JavaScript的運行時錯誤:未定義或空引用

我曾與IE和Chrome的測試,它們具有類似的結果無法獲取財產「節點名稱」。

<div data-role="popup" id="myPopup" data-overlay-theme="b" data-theme="c" data-dissmissible="false" class="ui-corner-all"> 
    <div data-role="header"><h1></h1></div> 
    <div data-role="content" data-theme="a" class="ui-corner-all ui-content"> 
     <p id="myPopupText">test test</p> 
    </div> 
</div> 

<script type="text/javascript"> 
    $("#main").on("pageinit", function() { 
     $("#myPopup").popup("open", { transition: "slideup" }); 
    }); 
</script> 

我也試過.popup().popup(「open」)之前。在VS2015中進行調試我看到彈出窗口被顯示,但是在運行時它會在異常被觸發時再次消失。

什麼原因導致了這個異常,我該如何解決?

+0

錯誤來自哪個文件? – gcampbell

+0

jquery.mobile-1.4.5.min.js – Kman

回答

0

您是否想在首次加載頁面時打開彈出窗口?如果是使用$(文件)。在(...,並嘗試輕微的延遲:?

$(document).on("pageinit","#main", function(){ 
    setTimeout(function(){ 
     $("#myPopup").popup("open", { transition: "slideup" }); 
    }, 10); 
}); 

你希望它每次頁面被訪問時彈出使用pagecontainer部件transition event

$(document).on("pagecontainertransition", function(event, ui) { 
    if (ui.toPage.prop("id") == "main"){ 
     setTimeout(function(){ 
     $("#myPopup").popup("open", { transition: "flip" }); 
     }, 10); 
    } 
}); 

是否要啓動彈出的頁面,以響應用戶操作加載之後?

$(document).on("pagecreate","#main", function(){ 
    $("#btnPop").on("click", function(){ 
    $("#myPopup").popup("open", { transition: "flip" }); 
    }); 
}); 

DEMO

+0

我仍然在調用.popup方法時得到了javascript異常。 未處理的異常,位於第7行,第5548行.... /jquery.mobile-1.4.5.min.js 0x800a138f - JavaScript運行時錯誤:無法獲取未定義的屬性'nodeName'或null參考 – Kman

+0

@Kman ,codepen會給你錯誤嗎?如何以及在哪裏添加jQuery和jQuery Mobile腳本/ CSS?您是否在使用任何可能會衝突的其他庫? – ezanker

+0

不,只有在VS2015中運行。我也禁用了其他庫,但它沒有幫助。這只是在調試模式下運行的一個問題,除此之外您的代碼運行良好。 – Kman

相關問題