Javascript 当点击浏览器上的后退按钮到达主页时,我需要删除类
我在我的网站上有,我不完全理解它,但这里有我的javascript文件中使用的任何引用Javascript 当点击浏览器上的后退按钮到达主页时,我需要删除类,javascript,Javascript,我在我的网站上有,我不完全理解它,但这里有我的javascript文件中使用的任何引用 function activateKeyNav() { // Description: register keypress event on document object jQuery(document).on('keydown', function(event) { switch(event.which) {
function activateKeyNav()
{
// Description: register keypress event on document object
jQuery(document).on('keydown', function(event) {
switch(event.which)
{
case 27: // escape
hasher.setHash();
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
break;
}
});
}
function goToNextProject()
{
if(projects[currentProject].rght)
updateHash(projects[currentProject].rght);
}
function goToPrevProject()
{
if(projects[currentProject].lft)
updateHash(projects[currentProject].lft);
}
function updateHash(project)
{
hasher.setHash(project);
}
$('#backtoprojects a').on('click', function(){
hasher.setHash();
$('#backtoprojects').addClass('is-hidden');
deactivateKeyNav();
});
$('#project-close').on('click', function(){
hasher.setHash();
$('#project-close').addClass('is-hidden');
});
$('[data-type="projectLoader"]').click(function() {
var proj = $(this)[0].getAttribute('data-project');
// loadProject(proj)
$('#arrow-nav').addClass('slideIn');
updateHash(proj);
return false;
// return loadProject(proj);
});
crossroads.addRoute('/{project}', function(project) {
console.log(project);
loadProject(project);
currentProject = project;
deactivateKeyNav();
activateKeyNav();
});
crossroads.addRoute('/', function() {
$('#backtoprojects').click();
});
crossroads.routed.add(console.log, console);
function parseHash(newHash, oldHash) {
crossroads.parse(newHash);
};
hasher.initialized.add(parseHash); //parse initial hash
hasher.changed.add(parseHash); //parse hash changes
hasher.init(); //start listening for history change
我不认为任何html是必要的,因为它与浏览器和退格有关
当我在一个项目中时,它会将/#/项目名称添加到url中。当我点击backspace或在浏览器中按back键时,它会删除“项目名称”,但您仍然保留在项目中。它应该加载主页回来
是否可以将文档准备就绪
?还是removeClass
?如果我能做$('body').removeClass('projectLoaded')代码>这将终止项目并将您带回主页
这是现场直播
更新#1
这适用于backspace键。我如何结合使用case27和case8来做同样的事情,而不必重复代码<代码>代码27和代码8
?我仍然需要为浏览器中的“后退”按钮提供解决方案
case 8: // backspace
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
break;
更新#2
window.history.back();
window.history.go(-1);
我现在意识到,这些是行不通的。我可能有4个项目深入历史。我不知道如何瞄准这一点。搞乱js我让它起作用。我也不需要针对退格按钮
crossroads.addRoute('/', function() {
$('#backtoprojects').click();
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
});
和js混在一起我让它工作。我也不需要针对退格按钮
crossroads.addRoute('/', function() {
$('#backtoprojects').click();
$('body').removeClass('projectLoaded');
$('#arrow-nav').removeClass('slideIn');
$('#backtoprojects').addClass('is-hidden');
$('#project-close').addClass('is-hidden');
});
ESC键正是这样做的。也许它的代码可以用于相同的效果?@BlazeSahlzen是的,removeClass可以做到这一点,但是如果可以将它映射到键盘的backspace,浏览器的back按钮也可以做到这一点吗?ESC键就是这样做的。也许它的代码可以用于相同的效果?@BlazeSahlzen是的,removeClass可以做到这一点,但是如果可以将它映射到键盘的backspace,那么浏览器的back按钮也可以这样做吗?