1

我在 .aspx 页面标题标签上添加了下面的脚本,它可以完美运行,没有任何问题。

<script type="text/javascript">
       $('#InfoPage').live('pageshow', function (event) {
           $("#apdf").click(function (e) {
               e.preventDefault();
               var serviceURL = "Default.aspx/GeneratePDF";

               $.ajax({
                   type: "POST",
                   url: serviceURL,
                   data: param = "", // parameter
                   contentType: "application/json; charset=utf-8",
                   dataType: "json",
                   success: successFunc,
                   error: errorFunc
               });

               function successFunc(data) {

                   alert('sucess');
               }

               function errorFunc() {
                   alert('error');
               }

           });
       });
   </script>

后来我想清理我的代码并将上面的脚本添加到一个单独的 .js 文件中,并将链接添加到页眉标签。

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

然后突然停止工作网页根本没有呈现任何东西,即使没有显示静态内容。发生这种情况的任何具体原因?

我也在下面尝试过。

<div data-role="page" id="InfoPage">
 <script type="text/javascript" src="PDFScript.js"/>
</div> 
4

2 回答 2

2

在标签<script type="text/javascript" src="PDFScript.js"/>之前导入。</body>否则请确保在 jQuery、jQuery Mobile js 库之后导入它。

如果您使用的是 jQuery 1.9.x,那么您将live无法正常工作。你需要使用.on()方法。

$(document).on('pageshow', '#InfoPage', function(){
   // your code goes here
});
于 2013-03-29T08:50:21.693 回答
1

改变这个:

$('#InfoPage').live('pageshow', function (event) {

对此:

$(document).live('pageshow', '#InfoPage' ,function (event) {

为了更好地理解这一点,请阅读这篇文章(它不是我的):http: //jqfundamentals.com/chapter/events并查找章节:事件委托

于 2013-03-29T08:46:24.203 回答