2012-04-02 131 views
1

我正在为客户端创建一个移动网站,我需要创建一个函数来显示和隐藏DIV元素,当按下按钮(标签)时。 这是我的代码:Jquery Mobile .click不起作用

<script type="text/javascript"> 
$('#wrapper').live('pageinit',function(event){ 
    $("#btnInfo").click(function(){ 
     $("#pageInfo").toggle(); 
    }); 
}); 
</script> 

什么情况是: 页面加载时,我按btnInfo,在div显示出来,就像它应该,但后来我按一个链接,进入到下一个页面,但在那个页面上它不再显示,每当我回到我首先加载的页面时,它仍然有效。 我认为这是因为该页面加载在AJAX中,我希望它是。我搜索了一个修复程序,我发现:http://jquerymobile.com/test/docs/api/events.htmljQuery Mobile - binding to pageinit event尝试了这两个,并且当我切换页面时提示显示,但我写的功能不起作用

我该怎么做?

问候, 伤害。

回答

-1

尝试这种情况:

$("#btnInfo").bind('click',function(){ 
      $("#pageInfo").toggle(); 
     }); 
+0

试过了,它没有工作...感谢您的帮助虽然。 ('#wrapper')。live('pageinit',function(event){(“#btnInfo”)。bind('click',function(){ $(“#pageInfo”) .toggle(); }); });应该避免生活在 – Hawiak 2012-04-02 13:12:25

3

Click方法需要经由.on()附连到上正在即时所附的元素。

$("#btnInfo").on('click', function() { 
    $("#pageInfo").toggle(); 
}); 
+1

。它已被弃用.. – 2013-12-20 07:10:40

+0

谢谢。我在API中存在'on()'之前回答了这个问题。我已经更新了我的答案,但是我看到Saurabh已经到了那里。 :) – Labu 2014-01-18 11:34:42

2
$("#btnInfo").on("click", function(event) { 
      $("#pageInfo").toggle(); 
});