`
DBear
  • 浏览: 232290 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类

点击<a>标签,禁止页面自动跳到顶部的解决办法

阅读更多
     最近在开发一个小web的时候想给一个按钮增加一个弹出dialog功能,但是发现点击按钮后页面总是自动滚动至顶部,这点从用户体验上来讲是极其不爽的,于是开始跳进google大池寻求解决办法。网上的办法有很多,但是唯独下面这个生效了,转来收藏。

 

    "平时开发的HTML表单,链接通常会使用<a href="#" onclick="openWnd();">Open new window</a>控件,但这种方法如果是链接到本页面,用来执行一段JS脚本的话,我们一般不希望用户在点解链接后页面滚动到顶部(如果有滚动条的话),可以通过修改上述将链接属性href来实现:即将href="#"改为href="###",这样用户点击链接执行JS脚本后,滚动条就不会自动跳到TOP了。"

 

     后来就想为什么这么改了就不跳了?然后把href换成 "#X",发现依然可以实现阻止滚动的效果。所以应该是浏览器会把 "#" 当作是一种页面跳转的口令,接到这个口令就会把页面滚动到原始位置,但是只要把这个改成浏览器没有办法识别的名称,那么它就会把这个口令ignore了。

 

NOTE:后来发现IE6这个神奇的浏览器连"##"都能识别,所以如果你要兼容浏览器,那还是用"###"吧。。。

 

 

2010-10-11 更新

 

在最近开发的网站中,一直使用上述的"#X"方法解决页面跳动的问题。但是这样解决页面虽然不跳了,url却会变得异常的难看,所以一直想找个方法替代它。后来在一次山寨之旅中意外的找到了它——

                            href="javascript:void(0)"

 

 url从此干净了~~

 

 

 

除此方法之外还有提出:

 

定位到 <html> 上,document.getElementsByTagName( "html ")[0].style.overflow= "hidden "
或者 <html   id= "scroll ">
然后调用地方写document.getElementById( "scroll ").style.overflow= "hidden "

但是依次方法并未成功,也可能是我写的不对,这个留作以后再做验证。

 

 

 

 

 

 

分享到:
评论
1 楼 uchaoxi 2017-01-02  
谢谢作者分享的经验,非常有用!

相关推荐

    通过href简单实现点击a链接跳到页面中指定的地方

    本文将详细介绍如何通过`href`属性来实现点击a链接跳到页面中指定的地方,这是一种称为内部链接或锚点链接的机制。 首先,让我们了解`&lt;a&gt;`标签的基本结构。`&lt;a&gt;`标签用于创建超链接,其基本语法如下: ```html &lt;a ...

    个人网页设计常用代码集合.doc

    将链接的`href`值设为`javascript:void(null)`,可以避免用户点击空链接时页面跳回顶部: ```html &lt;a href="javascript:void(null)"&gt;链接文本&lt;/a&gt; ``` 4. **防止网页被嵌入框架**: 通过在JavaScript中检查`...

    常用的JS-JavaScript

    当输入框获得焦点时,光标会自动跳到文本最后。 #### 15. 获取页面来源 要获取用户是从哪个页面链接过来的,可以使用: ```javascript javascript:document.referrer ``` 这会返回用户访问当前页面前所在的URL。 #...

    H5页面防微信字母搜索定位

    在微信环境中,用户可以通过在聊天主界面的顶部输入字母来快速搜索并定位到特定联系人的H5页面。这种功能在日常使用中非常便捷,但对于H5开发者来说,可能会带来一些问题,比如用户可能通过搜索关键词直接跳过某些...

    最新版114啦2010.9.23更新.rar

    .# 开启模板引擎安全选项,禁止&lt;{php}&gt;标签,消除自定义模板允许输入php代码的安全隐患; .# 修复站点提交模块的跨站脚本漏洞; V1.13 (2010年04月28日修复列表) .# 修复获取管理权限后的php执行代码漏洞; V...

    Excel使用技巧大全(超全).

    - 若要选中所有的工作表,可以点击工作表标签下方的空白区域直到出现黑十字,然后拖动选择所有工作表。 2. **快速启动Excel** - 通过桌面快捷方式或者搜索栏输入“Excel”并回车。 - 可以将Excel图标固定在任务...

    网址网站导航整站源码

    .# 修复修改网址信息后自动跳转会出现2000秒倒数的Bug; .# 修复天气自动判断显示为“东莞”的Bug; .# 修复内页不能正常显示用户自定义背景的Bug; .# 修复名站切换栏“我的收藏”网址IE浏览器下不在新窗口打开的...

    linux下vi简单命令介绍

    - **H**:移动到屏幕的顶部。 - **M**:移动到屏幕的中间。 - **L**:移动到屏幕的底部。 - **0**:移动到行首。 - **$**:移动到行尾。 ### 滚动页面 - **Ctrl+u**:向上滚动半屏。 - **Ctrl+d**:向下滚动半屏。...

Global site tag (gtag.js) - Google Analytics