使用 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(请注意,我更改了版本,并将“live”改为“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,但也许我错了。
最佳答案
改变
$("#home").on("pageshow", function( event ) {
至
$(document).on("pageshow", "#home", function( event ) {
on
的语法与 live
的语法不同:在进行绑定(bind)时,接收和委托(delegate)事件的元素必须存在。
关于jquery - "$(document).on(' pageshow '"不适用于 jQuery 1.9.1 + JQM 1.3.0-stable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15464594/