我有一个用户控件,其中包含一个链接,当它被点击时,我想打开一个导航作为弹出菜单。我正在使用jQuery手机,我已经给了我的导航id,链接指向它的要求。
这在一个页面上没有任何问题,但是当我将控件添加到另一个页面时,它会将链接中的href属性更改为" Controls /#menu“,而不是打开div,而是尝试重定向(并显示控件目录)。
HTML:
<a id="lnkMenu" runat="server" href="#menu" data-rel="popup" data-icon="grid"
data-iconpos="right" data-transition="pop" data-position-to="window">Menu</a>
<nav id="menu" data-role="popup" data-overlay-theme="a">
<ul data-role="listview" data-inset="true" data-count-theme="b">
<!-- Some <li>s with menu options -->
</ul>
</nav>当我加载页面时:
<a data-position-to="window" data-transition="pop" data-iconpos="right"
data-icon="grid" data-rel="popup" id="ctl00_Banner2_mobileProfileMenu_lnkMenu"
href="Controls/#menu" class="ui-btn-right ui-btn ui-shadow ui-btn-corner-all
ui-btn-icon-right ui-btn-up-c" data-corners="true" data-shadow="true"
data-iconshadow="true" data-wrapperels="span" data-theme="c" aria-haspopup="true"
aria-owns="Controls/#menu">
<span class="ui-btn-inner">
<span class="ui-btn-text">Menu</span>
<span class="ui-icon ui-icon-grid ui-icon-shadow"> </span>
</span>
</a>我正在使用:
据我所知,没有定制的javascript来修改控件,而且我已经在一个地方工作了,它只是在其他地方崩溃而已。这两页之间唯一的区别是,在它工作的地方,我没有使用jQuery UI。如果我手动编辑页面(例如使用firebug或chrome dev工具)来修复href,它就会像预期的那样工作。
如果相关,则在另一个目录的页面中使用用户控件,站点的根目录中有一个母版页。所有的javascript都加载在母版页上。
编辑:我尝试从问题页面中删除jQuery UI,问题仍然存在。
发布于 2013-12-31 00:33:27
在删除了一些定制的javascript和删除了jQuery UI之后,我就能够让弹出正常工作(定制的javascript使用的是jQuery UI)。href似乎仍然添加到链接的路径,但它是有效的,所以我想这是一个胜利。
如果其他人最终出现此问题,请尝试删除jQuery UI。我有一种感觉,它不太适合jQuery手机。
https://stackoverflow.com/questions/20831214
复制相似问题