1

我的网站上有一个 CSS 模态框,通过单击如下所示的锚点打开:

<a href="#modal-box">Click here to open modal box</a>

一旦用户点击它,模态框就会打开,他们会发现自己位于: http ://example.com/#modal-box

对我来说,这代表了我网站上的一个位置,所以我希望用户能够将该 url 复制并粘贴到另一个浏览器中,并弹出相同的模式框。

使用 jquery,有没有办法捕获用户所在的片段 ID,然后根据它采取行动?

4

2 回答 2

3

如果您想正确执行(即支持后退按钮),那么您需要捕获 hashchange 事件并对其采取行动,当 URL 片段更改时,现代浏览器会触发此事件。但是,并非所有浏览器都支持 hashchange,因此您必须解决这个问题。您最好使用预先构建的解决方案,例如:

除非您正在构建一个具有复杂路由和参数处理的 JavaScript 应用程序,否则基本的 hashchange 插件可能是您最好的选择。

你也可以一直看location.hash。但是,您必须找到相应的链接并模拟单击它以使浏览器正常运行。一旦你开始做那种事情,你可能最好使用上述插件/框架之一和某种形式的路由系统。

于 2011-04-17T01:36:58.270 回答
2

您可能可以使用 jQuery 来做到这一点,但您也可以只使用原生 JavaScript 属性:location.hash为您提供#modal-box.

于 2011-04-17T01:20:02.793 回答