我的代码用于膝盖的工作模型。为了动态加载膝盖的每个 View ,并去除我的 URL 中的散列,我使用了 pushState 方法,其中包括一个 .click()
事件。所以基本上我有两个类别,当您单击类别中的一个选项时,应用程序会加载膝盖那部分的描述。但出于某种原因,我可以单击动态加载的类别,但是当我单击类别中的一个选项时,页面会刷新。刷新后,类别中的每个选项都会动态加载。我想知道我的 .click()
事件是否发生冲突,或者可能由于某种原因导致刷新。如果是,我需要能够在不中断 pushState 方法的情况下将两者合二为一。有什么想法吗?这是我认为可能会发生冲突的代码:
$(function() {
$('.knee-navigation a').click(function() {
$('.knee-navigation a').removeClass();
$(this).addClass('current_cat');
if ($('.maladies-label a').hasClass('current_cat')) {
$(".term-list").load("maladies-menu.php ul");
} else {
$(".term-list").load("anatomy-menu.php ul");
}
});
});
$(function() {
var main = $("main");
$("a, area").click(function() {
var href = $(this).attr("href");
history.pushState('', '', href);
// load the content
loadContent(href);
return false;
});
});
帮助!
最佳答案
某些元素(例如:button'、'a' 等)的默认操作会导致页面转到其他地方。您可以通过在
event` 对象上设置您的处理程序preventDefault来防止这种情况,如下所示:
$('a, area').on('click', function (e) {
// do stuffs
e.preventDefault();
});
关于javascript - 需要消除一个 .click() 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30579343/