解决方案 »

  1.   

    <body>
    <div data-role="page" id="page">
     
      <div data-role="header">
        <h1>测试</h1>
      </div>
       
      <div class="a" data-role="content"> 
      <a id="btn" href="#" data-role="button">按钮</a>
      </div>
       
    </div>
          <script type="text/javascript">   
        $(document).ready(function() {
              $("#btn").each(function() {
                  $(this).click(function(){
    //                  $("#btn").hide();
                      $(".a").append($("<a href='#' data-role='button'>按钮</a>").click(function(){alert(11)}));
                });
                 
                 
            });
        });
         
         
        </script>
    </body>
      

  2.   

    on只能在已有的元素上添加事件,如果是动态添加的元素。可以用live或delegate .
      

  3.   

    如果通过changePage等方式,你这是无效的,因为你的script不在page里面
      

  4.   


    $("a").on("click",function(){alert("aaa");});        //把这行改成下面的就行了:
    $(".a").delegate("a","click",function(){alert("aaa");});
      

  5.   


    请问live怎么实现啊,我用live不行,用delegate就行,不是说live在现在的jquery中都被on代替了么?
      

  6.   

    $(document).on('click','a',function(){alert(111)})
      

  7.   


    放里面也不行呢~
    你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的
    需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面
      

  8.   


    放里面也不行呢~
    你把页面切换的贴出来。如果是changepage,是不执行$(document).ready的
    需要放置jquery mobile中的pagebeforecreate,pagecreate,pageinit等事件里面我没有切换页面,就是直接在原来的基础上添加了一个按钮。
      

  9.   


    谢谢啦,这方法有用!我听网上说on可以绑定未来添加的元素,不知道怎么回事。on也是不行的,以前的旧版本jquery用live就可以,但是现在的新版本都删除了这个功能,因为性能不好!
      

  10.   


    $(".a").on("click",“a”,function(){alert("aaa");});
      

  11.   


    $(".a").on("click",“a”,function(){alert("aaa");});
      

  12.   


    $(".a").on('click','a',function(){alert(111)})