当浏览器上的后退按钮到达主页时,我需要删除Class
I need to removeClass when hitting the back button on a browser once it reaches the homepage
我的网站上有hasher.js,我不完全理解它,但这里有我的javascript文件中使用的任何引用。
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中。当我按下退格键或在浏览器中按下后退键时,它会删除"项目名称",但你仍然留在项目中。它应该加载回主页。
有可能做document ready
吗?还是removeClass
?如果我能做$('body').removeClass('projectLoaded');
,这将扼杀项目并让你回到主页。
这是一个活生生的例子。
更新#1这对退格键有效。我如何将案例27和案例8结合起来做同样的事情而不必欺骗代码?code 27 && code 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');
});
相关文章:
- 使用php或javascript从facebook相册URL中删除多余的部分
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 如何删除多行HTML排列中的空白
- 如何从rails中的代码中删除新行( )
- 删除对HTML元素的拖动
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- JavaScript-从匹配的img标题中删除Class
- Agularjs ng-class:如果其他条件变为真,则删除类
- 如何使用 Jquery 在没有 CLASS 的情况下删除
- 如何使用 ng-class 在值计算结果为零时删除类
- 正在将事件侦听器作为Class.prototype函数删除
- 使用jquery从祖父母中删除class属性
- 删除容器中带有特定Class的所有Html元素
- AddClass“active"其中Class与href相同,否则删除“active”
- 通过ng-class根据属性值添加和删除类
- 删除<选项>当自定义属性不等于x时,由.class AND执行
- 删除一个没有class或id的text html元素
- 删除this.class函数Javascript
- 当复选框被选中时,从标签中删除class