我有一个包含iframe的页面。在iframe中是代码(我无法更改),它将location.hash设置为iframe窗口中元素的id。
这会产生滚动我最外层浏览器窗口的不良影响,以便窗口顶部触及iframe的顶部。这非常烦人,因为我在iframe上面有一个对我的应用程序至关重要的工具栏。
有没有办法阻止设置location.hash影响主窗口的滚动位置?
preventDefault会帮助我吗?
编辑:看起来我的描述方式不太可能。
答案 0 :(得分:1)
如果preventDefault没有按照您的意愿执行操作,您可以动态移动<a name='iframehash'>
的位置,使其始终位于屏幕顶部。这样,当调用移动到它将被调用的任何哈希时,实际上什么都不会移动。
但是如果preventDefault()有效,那么这是一个更好的解决方案。
答案 1 :(得分:0)
您可以使用:
event.preventDefault()
这将停止应用它的元素的默认操作。