2011-06-27 173 views
0

我创建了一些有4页的工具。 我命令在我使用jQuery“选项卡”(在每个页面的标题)页面之间导航。在jQuery中取消选项卡选择

点击某些标签后,有没有办法取消点击操作? 例如:如果页面没有保存,用户将得到一个propper警告:“点击是为了继续而不保存,或者点击否以保留在未保存的页面中”。

在此先感谢。 迈克

+0

我不清楚,你的意思是? – Starx

回答

1

如果你指的是jQuery UI的标签控件,您可以在初始化标签供应select事件,或使用tabselect事件类型绑定的事件处理程序:

$(".selector").tabs({ 
    select: function(event, ui) { ... } 
}); 

或:

$(".selector").bind("tabsselect", function(event, ui) { 
    ... 
}); 

有关jQuery UI Tab小部件的更多信息,请参见documentation

在事件处理程序,你应该能够执行任何检查您需要,并使用event.preventDefault();

+0

嗨, 使用事件选择或单击使用event.preventDefault();防止加载其他页面(按要求留在当前页面上),但突出显示选定的选项卡(点击第2页后,我按要求留在第4页,但选项卡2突出显示,而不是第4页)。 – Mike

+0

为了解决这个问题,您可以在处理程序中触发'select'事件,并将它传递给当前选项卡的索引。这将使它重新选择当前选项卡:http://jqueryui.com/demos/tabs/#method-select –

+0

我添加了'$(“.tabs”).tabs(“option”,“selected”, 3);''click'事件中'event.preventDefault();'之前(在'select'事件中它不起作用)。当前选项卡(3)突出显示,但除了选定的选项卡(两个选项卡都突出显示)... – Mike

0

我想你可以把一个确认的点击动作第一个对话框改变停止选项卡。并且如果对话框的结果为真,则只能继续执行其余的代码。

+0

谢谢,但问题是取消选项卡选择... – Mike

0

为了取消或中止该标签的ajax请求做这样的事情

$('#tabs').tabs({ 
    ajaxOptions: { 
     timeout: 10000, 
     error: function() { 
      // If error occurs while trying to load a page via AJAX, abort the tabs 
      $('#tabs').tabs('abort'); 
     } 
    } 
}); 

欲了解更多信息,请here

相关问题