jquery - "$(document).on(' pageshow '"不适用于 jQuery 1.9.1 + JQM 1.3.0-stable

标签 jquery jquery-mobile

使用 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/

相关文章:

javascript - 如何防止html/JavaScript代码修改

css - 如何更改 jQuery Mobile 的 href 按钮图像?

jQuery Mobile slider 输入不够宽

jQuery 移动 : Adding to a SELECT in Code works only on Desktop browsers?

javascript - 没有 jQuery Mobile 的 scrollstop 事件

javascript - 当焦点丢失时有可编辑的保存吗?

javascript - 在 jquery codeigniter 中上传图像后进行编辑

javascript - 如何在我的第二个 tr 中获得 8 列?

javascript - JQuery when() 出现错误 404

javascript - jquery-mobile css 不适用于使用 javascript 生成的 html