防止jQuery移动按钮的默认行为

防止jQuery移动按钮的默认行为,jquery,cordova,Jquery,Cordova,编辑:为了澄清,我确实希望#捕获照片按钮处于活动状态,但我希望在以编程方式导航到另一个页面时将其重置 我目前正在使用jQuery作为框架构建Phonegap/Cordova应用程序。除一种情况外,大多数情况都很好 我有一个带有导航栏和三个按钮的固定页脚(非常好用) 有两个按钮用于常规页面,没有ajax,它们工作得很好 一个按钮连接到摄像头界面并触发(即)iPhone上的摄像头。如果我取消,我将返回屏幕,但相机的按钮现在具有活动状态和样式 我在失败时触发了一个changePage,页面get被激活

编辑:为了澄清,我确实希望#捕获照片按钮处于活动状态,但我希望在以编程方式导航到另一个页面时将其重置

我目前正在使用jQuery作为框架构建Phonegap/Cordova应用程序。除一种情况外,大多数情况都很好

我有一个带有导航栏和三个按钮的固定页脚(非常好用)

有两个按钮用于常规页面,没有ajax,它们工作得很好

一个按钮连接到摄像头界面并触发(即)iPhone上的摄像头。如果我取消,我将返回屏幕,但相机的按钮现在具有活动状态和样式

我在失败时触发了一个changePage,页面get被激活,但它不会改变按钮状态!?我试图手动删除这些类,但没有成功!?似乎有什么事情延迟了为活动状态添加类,直到或发生了什么事情

我做错了吗?changePage()不应该找到并触发它的锚吗

在相册页面中,页脚如下所示:

  <div class="footer" data-role="footer" data-position="fixed" data-id="footer-tab">
    <div data-role="navbar" class="nav-glyphish">
     <ul>
        <li><a id="welcome" href="#welcome"></a></li>
        <li><a id="capture-photo"></a></li>
        <li><a id="show-album" href="#album" class="ui-btn-active ui-state-persist"></a></li>
     </ul>
    </div>
  </div>

因此,同样地,#捕获照片按钮没有相应的页面,但当我单击它时,它会被激活,如果我取消相机-jqm捕获器更改页面并转到#显示相册,但#捕获照片按钮仍被标记为活动


另外,我在两个页面上都有一个相同的页脚(data role='footer'),除了它们各自的锚点设置了ui btn active和ui state persist。我对这个重复的代码感到有点不舒服,但它似乎是解决持久化页眉/页脚的唯一方法?

因此,不幸的是,我以一种有点丑陋的方式解决了它。在运行$.mobile.changePage('#album')之前,我在所有固定页脚导航栏上手动触发“vclick”事件。丑陋,但现在它起作用了

// HATE DOING THIS! BUT JQM IS NOT WORKING WITH ME ON THIS.
  $('#welcome #show-album').trigger('vclick')
  $('#album #show-album').trigger('vclick')

你的意思是像做e.preventDefault();点击?不是真的:(我在编辑中澄清了一点。现在我尝试手动触发它,就像这样:
$(“#相册#显示相册”).trigger('vclick')
在运行
$.mobile.changePage(“#相册”)
之后,它实际上可以工作,但当我导航到“欢迎页面”时,它会再次被激活(!?)-因此,现在“欢迎页面”和“拍摄照片”都处于活动状态(!?)。