【发布时间】:2016-04-09 03:57:51
【问题描述】:
我正在处理一个项目并卡在选项卡上。无论我做什么,当我点击一个标签时页面向下滚动。这是我的 HTML:
<ul class="list">
<li class="tab1 active">
<i class="fa fa-external-link"></i>
<a href="#quick-reports" class="tab">Quick Reports</a>
</li>
<li class="tab1">
<i class="fa fa-star-o"></i>
<a href="#my-folders" class="tab">My Folders</a>
</li>
<li class="tab1">
<i class="fa fa-folder-open-o"></i>
<a href="#my-team-folders" class="tab">My Team Folders</a>
</li>
<li class="tab1">
<i class="fa fa-files-o"></i>
<a href="#public-folders" class="tab">Public Folders</a>
</li>
</ul>
var open_tab = function() {
$('.tab1').each(function (i, tab) {
UTILS.addEvent(tab, 'click', function() {
$('.list li.active').removeClass('active');
$(this).addClass('active');
$('.active-panel').removeClass('active-panel');
var target_panel_selector = $(this).find('a').attr('href');
$(target_panel_selector).addClass('active-panel');
window.location.hash = target_panel_selector ;
});
});
};
而.active-panel的样式是display: block。我尝试使用:
e.preventDefault();
或
tab.find('a').on('click', function(e){
alert("finally!!");
e.preventDefault();
});
还有我在网上找到的其他东西,但不行,不起作用。
【问题讨论】:
-
alert()是否出现在您上一个 JS 示例中?从理论上讲,这应该有效。 -
未收到警报。
-
试试
$(tab).find('a')....
标签: javascript jquery html