Javascript -在锚链接上的焦点/跳转在所有浏览器中表现相同(加上可能添加哈希#链接)
Javascript - focus/jump on anchor link to behave the same in all browsers (plus maybe add hash # to link)
我有一个简单的Javascript函数,它应该将用户集中到页面上的确切哈希链接位置。问题是-它在不同的浏览器上表现不同(它似乎在Firefox中工作得最好,在Chrome/Opera中最差),它实际上并没有把用户带到确切的锚位置。
最好在点击按钮后,用户总是被带到确切的锚链接位置(即。从示例中,它将是:…/UfDLW/16/show/#2)。在点击链接后,用户应该总是被"带到"页面的顶部。重点链接#2应该在页面的正上方(目前它的位置是随机的)。
也许一个解决方案是"强制"浏览器在点击按钮时将#2添加到链接,但不确定如何做到这一点,如果这是正确的解决方案。
<button type="button" onclick="focusHash();">FOCUS</button>
<div style="height:500px"><a id="a1" href="#1">#1</a></div>
<div style="height:500px"><a id="a2" href="#2">#2</a></div>
<div style="height:500px"><a id="a3" href="#3">#3</a></div>
function focusHash() {
document.getElementById('a2').focus();
}
这里是jfiddle: http://jsfiddle.net/pdXEt/3/
我只能在这里使用纯Javascript(没有JQuery)。
focus
不会移动浏览器窗口,除了使元素可见。如果您希望它的行为与单击链接相同,则需要修改URL以包含要移动到的锚标记的正确哈希片段。
这个版本接受一个ID,聚焦元素,然后通过设置window.location.hash
:
function focusHash(id) {
document.getElementById(id).focus();
window.location.hash = id;
}
见http://jsfiddle.net/pdXEt/9/
相关文章:
- 正在链接添加了以下内容::在之后
- 将超链接添加到“;标题“;标记文本
- 将重定向URL链接添加到JS函数
- 如何将超链接添加到通过传单创建的传单多段线.Draw
- 将数据库中的超链接添加到查询结果
- jQuery regex从文本链接-添加不需要的域到链接
- 将href链接添加到通过js鼠标悬停显示的图像
- 三.js - 自 r69 以来如何链接/添加相机灯
- 如何向超链接添加变量值
- 使用JavaScript向链接添加参数
- 知道点击了什么链接添加到数据库中
- 向asp.net生成的链接添加确认javascript
- 使用AJAX将AJAX链接添加到页面Yii
- 如何仅为特定URL向超链接添加属性
- 如何在javascript中将下一个和上一个链接添加到当前滑块
- 如何通过Jquery点击链接添加输入
- 将带有单击事件的超链接添加到 Dojo 网格
- OpenCart - 通过链接添加产品
- 使浏览器为我的链接添加书签
- 使用 JavaScript 向一组链接中的第一个链接添加一个属性