[導讀] 近期在做一個項目,會遇到在子頁面中提交的時候會無法能夠調試javascript程式碼的情況出現,有時候這種問題,我們無法正常在瀏覽器,看到我們子頁面的javascript程式碼,所以只能夠用原始的alert 或console log
近期在做一個項目,會遇到在子頁面中提交的時候會無法能夠調試javascript程式碼的情況出現,有時這種問題,我們無法正常在瀏覽器,看到我們子頁面的javascript程式碼,所以只能夠用原始的alert 或console.log(),當然,這也是一種解決方法,但是有時候,我們就想看一下程式到底是如何運作的,同時也可以看每個參數到底是什麼值,所以意義還是比較大的。
我貼張圖,大家就大概了解是什麼時候會出現這個問題了。
[javascript] view plaincopy在CODE上查看代码片派生到我的代码片 <script> function stopWatchDog(watchDogId) { alert("aa"); var url = '<s:url value="/watchDog/stopWatchDog"/>'; var params = { watchDogId : watchDogId, }; $.post(url, params, function(data) { if (data.success) { closeDialog(); tbGrid.send(); } else { if (data.errorMsg != null && data.errorMsg != "") { jAlert(data.errorMsg, "系统消息"); } else { jAlert("停止异常", "系统消息"); } $("#saveBtn").removeAttr("disabled"); $("#saveBtn").css("color", "white"); } }, "json"); } </script>
這個其實是函數聲明,大家如果了解javascript上下文的話,就知道其實函數宣告只是在頁面上下文載入的時候載入的函數名,其函數內容無法正常載入。
如果我們換成函數自執行或是在函數自治中定義這個函數宣告的話,那麼就可以解決這個問題了。
avascript] view plaincopy在CODE上查看代码片派生到我的代码片 (function(){ function stopWatchDog(watchDogId) { alert("aa"); var url = '<s:url value="/watchDog/stopWatchDog"/>'; var params = { watchDogId : watchDogId, }; $.post(url, params, function(data) { if (data.success) { closeDialog(); tbGrid.send(); } else { if (data.errorMsg != null && data.errorMsg != "") { jAlert(data.errorMsg, "系统消息"); } else { jAlert("停止异常", "系统消息"); } $("#saveBtn").removeAttr("disabled"); $("#saveBtn").css("color", "white"); } }, "json"); } })();
以上是關於子頁面中javascript函數無法調試問題詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!