解决JQuery UI中tabs()方法与HTML <base>标签冲突
2016-08-15 00:00
1236 查看
在使用JQuery UI的时候,经常会用到 Tabs Widget 这个标签页部件
标签页部件通过 设置标签按钮的<a href="#XXX">来跳转到页面的<div id="XXX">标签
Tabs Widget 通过href中开头是否为#号来判断要跳转到网面还是页面的标签
但是我们在实际使用中便会发现,当我们在网页的<head>里设置<base>标签的时候
Tabs Widget 会与 <base>产生冲突,将会无视href中的"#",直接跳转到base的href
造成整个Tabs Widget标签页部件的错乱,出现类似下图的情况
为了解决这个冲突,可以在使用使用tabs()之前,加上这样一段代码
加上代码后,就能解决这个冲突,结果如下图所示
标签页部件通过 设置标签按钮的<a href="#XXX">来跳转到页面的<div id="XXX">标签
Tabs Widget 通过href中开头是否为#号来判断要跳转到网面还是页面的标签
但是我们在实际使用中便会发现,当我们在网页的<head>里设置<base>标签的时候
Tabs Widget 会与 <base>产生冲突,将会无视href中的"#",直接跳转到base的href
造成整个Tabs Widget标签页部件的错乱,出现类似下图的情况
为了解决这个冲突,可以在使用使用tabs()之前,加上这样一段代码
$.fn.__tabs = $.fn.tabs; $.fn.tabs = function (a, b, c, d, e, f) { var base = window.location.href.replace(/#.*$/, ''); $('ul>li>a[href^="#"]', this).each(function () { var href = $(this).attr('href'); $(this).attr('href', base + href); }); $(this).__tabs(a, b, c, d, e, f); };
加上代码后,就能解决这个冲突,结果如下图所示
相关文章推荐
- <学习html>第三天笔记-链接标签;锚点定位、<base />标签;遇到标签之间关系的问题及解决方法
- struts中<html:radio>标签默认选中的解决方法《转载》
- (原创)利用扩展方法,给 IEnumerable<T> 增加一个生成 Html 的 select 标签的方法,不用 C# 中的反射技术
- HTML<base>标签在showModalDialog中的应用
- HTML <base> 标签
- HTML <base> 标签的 href 属性
- html <base/>标签
- htm页面中<a name>加name和id的冲突附解决方法
- 安卓手机浏览器不兼容html标签 <p> 的解决办法
- JQuery的html(data)方法与<script>脚本块的解决方法
- <img src="中文文件名" /> 无法显示图片,图片名改成英文就可以显示;试了下在电脑桌面写了个HTML测试下,可以显示中文名称的图片,解决方法
- htm页面中<a name>加name和id的冲突附解决方法
- YiiBase::include(PDO.php) [<a href='function.YiiBase-include'>function.YiiBa……解决方法
- 使用html <a href=""/>标签连接action的方法
- <html:optionsCollection />标签与LabelValueBean使用方法
- HTML <base> 标签
- HTML中让图片滚动的<marquee>标签的使用方法
- HTML <base> 标签
- HTML 5 <base> 标签
- js正则:匹配一个html的tagname的开始标签,主要是解决包含&lt;&gt;(正则的效率问题建议不使用)