我在.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>
答案 0 :(得分: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
});
答案 1 :(得分:1)
改变这个:
$('#InfoPage').live('pageshow', function (event) {
到此:
$(document).live('pageshow', '#InfoPage' ,function (event) {
要理解这一点,请更好地阅读本文(不是我的):http://jqfundamentals.com/chapter/events并查找章节:事件委派