我有一个包含链接的用户控件,当点击它时我想打开导航作为弹出菜单。我正在使用jQuery mobile,我已经为我的导航设备发送了一个id,并且链接指向了它。
这在一个页面上没有任何问题,但是当我将控件添加到另一个页面时,它将链接上的href属性更改为“Controls /#menu”而不是打开div,它将尝试重定向(和显示Controls目录。)
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,问题仍然存在。
答案 0 :(得分:0)
删除一些自定义javascript并删除jQuery UI后,我能够使弹出窗口工作(自定义javascript使用jQuery UI)。 href似乎仍然添加了链接的路径,但它正在工作,所以我猜这是一个胜利。
如果其他人最终遇到此问题,请尝试删除jQuery UI。我觉得它与jQuery Mobile不太搭配。