javascript - 使用 jQuery UI 选项卡防止异常

标签 javascript jquery jquery-ui

我正在向 jquery ui 选项卡控件添加一些自定义选项卡。

$("#tabs").tabs("add","#tabContent0","CLICK ME TO CHANGE PAGE",0);
$('a[href="#tabContent0"]').attr("href","javascript:window.location='http://www.google.co.uk';");

是的,这有点 hack,但这正是我所需要的,并且提供了一种很好的方式来返回到以前父页面的链接。

jquery 抛出以下异常:“jQuery UI 选项卡:片段标识符不匹配。”

这是在似乎试图使选项卡容器在 jquery ui 中可见的行上抛出的(确切的行不会帮助缩小和从官方网站自定义构建)。

显然我只是重定向,但 jquery 有额外的代码来选择选项卡(不存在)。在 Internet Explorer 中,如果用户启用了脚本错误,他们将在窗口位置更改之前看到异常被抛出,这是我不可能发生的。

我不能在这段代码周围放置 try catch,因为抛出异常的是 jquery ui 中的代码。

有什么方法可以防止抛出此异常或以不同的方式实现同​​样的事情而无需修改 jquery ui

编辑:我现在想知道是否有一种方法可以覆盖 jquery 放置在元素上的单击事件 Hook 。它确实在做一些我看不到的事情。

编辑:我现在必须注销,但我已经取得了一些进展,如果有人可以帮助我获得正确的 URL,使用此代码可以防止异常,但会将我重定向到“http://myurl/undefined”

$('#tabs').bind('tabsselect', function(event, ui) {

if(ui.index<2) //ignore this will change to get current tab count -1 (so the end tab is left as it is
{
        window.location=$('#'+ui.tab).attr("href"); //attr href is undefined, how do i use ui.tab properly to get the right url
        return false;
}

});

最佳答案

它在 Chrome 和 IE8 中对我来说工作正常。

我也试过这段代码,它有效:

$("#tabs").tabs("add","#tabContent0","CLICK ME TO CHANGE PAGE",0);
$('a[href="#tabContent0"]').click(function() {
    document.location='http://www.google.co.uk/';
});

我没有更改 href 属性,而是在新选项卡的 click 事件上添加了一个处理程序。这将使选项卡切换,然后位置发生变化。

关于javascript - 使用 jQuery UI 选项卡防止异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6194170/

相关文章:

javascript - Protractor :更改列标题的样式

javascript - 左侧导航的不透明度,但直到特定区域

javascript - 可调整大小的 <a> 元素

asp.net-mvc - MVC4 jQuery UI 不起作用

html - jQuery UI 主题和 HTML 表格

javascript - 如何通过单击一个按钮将文本框值和 dxDatagrid 所有选定值插入数据库?

javascript - 我的 JavaScript 代码未显示预期结果

javascript - Backbone : Wait for multiple fetch to continue

jquery - HTML/CSS 左滑菜单

jquery - Tooltip Effect with Mouseover - 工具提示固定位置