Javascript jQuery UI选项卡:在选项卡中加载链接/重新加载整个页面

Javascript jQuery UI选项卡:在选项卡中加载链接/重新加载整个页面,javascript,jquery,jquery-ui,tabs,Javascript,Jquery,Jquery Ui,Tabs,我正在为我的页面使用jQuery UI(1.10.2)选项卡。我使用此代码加载当前选项卡内的所有链接 <script type="text/javascript"> $(function() { $("#assetinfo_tabs").tabs({ ajaxOptions: { error: function( xhr, status, index, anchor ) { $( anchor.hash

我正在为我的页面使用jQuery UI(1.10.2)选项卡。我使用此代码加载当前选项卡内的所有链接

<script type="text/javascript">
$(function() {
    $("#assetinfo_tabs").tabs({
        ajaxOptions: {
            error: function( xhr, status, index, anchor ) {
                $( anchor.hash ).html("Error reading content. :(" );
            }
        },
        spinner: "<em>Loading</em> <img src='images/ajax-loader.gif'>",
        load: function(event, ui) {
        $(ui.panel).delegate('a', 'click', function(event) {
            $(ui.panel).load(this.href);
                    event.preventDefault();
            });
        }
    });
});
</script>

$(函数(){
$(“资产信息选项卡”).tabs({
ajaxOptions:{
错误:函数(xhr、状态、索引、锚定){
$(anchor.hash).html(“读取内容时出错:”;
}
},
微调器:“加载”,
加载:函数(事件、用户界面){
$(ui.panel).delegate('a','click',函数(事件){
$(ui.panel).load(this.href);
event.preventDefault();
});
}
});
});
现在,我希望能够添加一些方法来“标记”链接,它们将在单击时重新加载整个页面,而不仅仅是在选项卡内加载。我认为应该可以通过向链接添加一个类,并让上面的加载段忽略该类的所有链接,但我无法让它工作

<script type="text/javascript">
$(function() {
    $("#assetinfo_tabs").tabs({
        ajaxOptions: {
            error: function( xhr, status, index, anchor ) {
                $( anchor.hash ).html("Error reading content. :(" );
            }
        },
        spinner: "<em>Loading</em> <img src='images/ajax-loader.gif'>",
        load: function(event, ui) {
            $(ui.panel).delegate('a', 'click', function(event) {
                if (!$(this).hasClass('reload')) {
                    $(ui.panel).load(this.href);
                        event.preventDefault();
                }
            });
        }
    });
});    
</script>

$(函数(){
$(“资产信息选项卡”).tabs({
ajaxOptions:{
错误:函数(xhr、状态、索引、锚定){
$(anchor.hash).html(“读取内容时出错:”;
}
},
微调器:“加载”,
加载:函数(事件、用户界面){
$(ui.panel).delegate('a','click',函数(事件){
if(!$(this).hasClass('reload')){
$(ui.panel).load(this.href);
event.preventDefault();
}
});
}
});
});    

我会说它不起作用,因为
$(此)
实际上是指事件,而不是指选项卡。尝试使用ui.index获取单击选项卡的索引,抓取该对象并检查它是否具有相关类。

我会说它不起作用,因为
$(此)
实际上指的是事件,而不是选项卡。请尝试使用ui.index获取已单击选项卡的索引,抓取该对象并检查其是否具有相关类。

我找到了它!而不是在“单击”时触发。tablink click允许我将该类添加到要在选项卡中打开的链接

这与我想要的正好相反,但我接受了:)


$(函数(){
$(“资产信息选项卡”).tabs({
ajaxOptions:{
错误:函数(xhr、状态、索引、锚定){
$(anchor.hash).html(“读取内容时出错:”;
}
},
微调器:“加载”,
加载:函数(事件、用户界面){
$(ui.panel).delegate('.tablink',click',函数(事件){
$(ui.panel).load(this.href);
event.preventDefault();
});
}
});
});

我找到了答案!我没有在“单击”时触发,而是将其更改为“.tablink click”,这允许我将此类添加到我希望在选项卡中打开的链接中

这与我想要的正好相反,但我接受了:)


$(函数(){
$(“资产信息选项卡”).tabs({
ajaxOptions:{
错误:函数(xhr、状态、索引、锚定){
$(anchor.hash).html(“读取内容时出错:”;
}
},
微调器:“加载”,
加载:函数(事件、用户界面){
$(ui.panel).delegate('.tablink',click',函数(事件){
$(ui.panel).load(this.href);
event.preventDefault();
});
}
});
});

由于事件是一个正在单击的链接,而“this”用于获取href,那么它不应该也能够获取该链接/事件的类吗?另外,我不知道我们是否在谈论同样的事情?如果我想重新加载整个页面,我看不到选项卡索引有什么关系?因为事件是一个正在单击的链接,而“this”是用来获取href的,难道它不应该也能够获取该链接/事件的类吗?另外,我不知道我们是否在谈论同一件事?如果我想重新加载整个页面,我不知道选项卡索引是如何相关的?
<script type="text/javascript">
$(function() {
    $("#assetinfo_tabs").tabs({
        ajaxOptions: {
            error: function( xhr, status, index, anchor ) {
                $( anchor.hash ).html("Error reading content. :(" );
            }
        },
        spinner: "<em>Loading</em> <img src='images/ajax-loader.gif'>",
        load: function(event, ui) {
            $(ui.panel).delegate('.tablink', 'click', function(event) {
                $(ui.panel).load(this.href);
                    event.preventDefault();
            });
        }
    });
});
</script>