我正在为我的页面使用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>
现在我希望能够添加一些“标记”链接的方法,它们会在点击时重新加载整个页面,而不是仅仅在标签内加载。我认为应该可以通过向链接添加一个类来实现,并且只需要使用上面的加载段来忽略该类的所有链接,但我无法使其工作。
<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>
答案 0 :(得分:1)
我明白了!我没有触发“点击”,而是将其更改为“.tablink click”,这允许我将此类添加到我想要在标签中打开的链接。
这与我的目标相反,但我会接受它:)
<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>
答案 1 :(得分:0)
我会说它不起作用,因为“$(this)”实际上指的是事件,而不是标签。尝试使用ui.index获取单击选项卡的索引,抓取该对象并检查它是否具有相关的类。