Jquery选项卡:如何在单击时停止跳转?

我添加了一些JQuery选项卡,每次我点击其中一个链接的ID都会附加到url,它会跳转到url,这真的很烦人。 我已经找了一些修复,如设置超时和停止回发,但似乎没有任何工作,有没有人有任何想法?

 $(document).ready(function () { $('.moo').click(function (evt) { // stops from submitting the form evt.preventDefault(); return false; }); $("#tabs").tabs(); setTimeout(function () { if (location.hash) { window.scrollTo(0, 0); } }, 1); });   

编辑:

链接没有回发,它只是滚动

http://jsfiddle.net/3au7K/现在工作正常。

将您的javascript函数更改为此

 $(document).ready(function () { $('.moo').click(function (evt) { // stops from submitting the form evt.preventDefault(); return false; }); $("#tabs").tabs(); // This will work for dynamically added tabs as well $("#tabs ul li").delegate('a', 'click', function(e){ e.preventDefault(); return false; }); }); 

这个小黑客会做的伎俩。 它没有任何害处,因为JQuery选项卡在初始化后不需要href属性。

删除onclick=return false; 来自锚标签并尝试这样:

 $('a[href^="tabs-"]').on('click', function(e) { e.preventDefault(); }); 

这将阻止任何锚点从jquery选项卡跳转:)(将滚动位置移回原始点击)。

 $('div.ui-tabs ul li a').click(function(e) { e.preventDefault(); scroll_position = $(window).scrollTop(); $('html, body').animate({ scrollTop: scroll_position }, 0); });