jQuery on back按钮查找hash标记并触发点击事件
jQuery on back button find hash tag and fire click event
我的网站允许人们发布内容(类似于twitter),并试图通过jQuery/Ajax使其更加精简。人们可以选择发布许多类别,每个类别都按主类别或部分组织(如果你愿意的话)。
每当用户单击导航面板左侧的某个部分时,该项目就会向上移动到列表的顶部,然后向下展开,显示该部分中的所有类别。发生的另一件事是,主内容区域逐渐消失,并与属于该部分和类别的新内容(用户帖子)一起出现。到目前为止,这一切都很顺利,看起来棒极了!
然而,假设你点击一个部分和类别,可以看到该特定类别中的所有帖子。然后你点击一个帖子进入帖子,查看所有信息、评论等。现在,你想回到你原来的位置,所以你点击了后退按钮。现在执行此操作时,它将返回并再次显示主页面的详细信息,而不是您之前选择要查看的类别。
我添加了以下代码来显示要选择的类别(例如:"/#/community"),并检查哈希,然后触发"点击"事件以触发该类别再次显示。
last_known_hash = location.hash;
window.setInterval(function() {
if(last_known_hash != location.hash) {
$('#categories-panel a[name="'+ location.hash.substring(2) +'"]').click();
last_known_hash = location.hash;
}
}, 500);
点击返回后,它仍然会在URL中显示"#/community",但不会触发点击。这很奇怪,因为如果你在URL中键入"#/community",它确实可以正常工作。所以我真的不确定为什么点击"返回"时没有正确触发它。我不确定这是否是最好/正确的方式,但这是我目前所能想到的。也许改为做一次会议?一如既往,任何帮助都将不胜感激:)
附言:我知道点击事件本身是有效的,因为当我在firebug中运行它时,它非常有效。
摘要:当有人在浏览器中单击"返回"时,我需要它转到他们上次所在的位置,例如:sitehere.com/#/community,然后触发一个单击事件,再次显示"社区"类别的内容。
historyJS和HTML5历史popState和pushState。这些是你需要学会做你想做的事情的术语。
我认为这个插件:https://github.com/cowboy/jquery-hashchange解决您的问题
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何从画布上的某个移动事件中获取X和Y
- 将事件绑定到除 data-rel= BACK 之外的所有锚标记
- 保留动态创建的下拉列表's在事件窗口.history.back()上选择的值-JavaScript
- 如何在Cocos2D JS v3中监听mobile Back事件
- jQuery on back按钮查找hash标记并触发点击事件
- 如何使用JavaScript触发浏览器的back事件/函数
- Jquery在onsenui的on -back按钮中没有触发点击事件