使用jQuery 1.8.3
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.8.3.min.js"></script>
<script src="js/jquery.mobile-1.3.0.min.js"></script>
<script>
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$("#home").live("pageshow", function( event ) {
alert( "Ok. This is Home!" );
});
</script>
</head>
<body>
<!--- HOME --->
<div data-role="page" id="home">
<h2>Hello World</h2>
</div>
</body>
</html>
警报正常。
但是,使用jQuery 1.9.1(请注意我更改了版本并“on”更改为“on”。
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/jquery.mobile-1.3.0.min.js"></script>
<script>
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$("#home").on("pageshow", function( event ) {
alert( "Ok. This is Home!" );
});
</script>
</head>
<body>
<!--- HOME --->
<div data-role="page" id="home">
<h2>Hello World</h2>
</div>
</body>
</html>
警报不起作用。我确定我做错了什么。我一直在读jQuery Mobile 1.3.0-stable会使用jQuery 1.9.1,但也许我错了。
答案 0 :(得分:12)
更改
$("#home").on("pageshow", function( event ) {
到
$(document).on("pageshow", "#home", function( event ) {
on
的语法与live
的语法相同:在您进行绑定时,接收和委托事件的元素必须存在。