`
nirvana1988
  • 浏览: 137576 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

空链接中的href属性含有“#” 引起页面跳动 的几种解决办法

阅读更多

     页面中使用空链接时,通常点击该空链接不会打开一个新页面,只是借助这个它触发一个点击事件,进而完成一系列的js操作。

     以前空链接的href属性通常使用"#"来填充,但当页面出现滚动条时,点击空链接,页面会跳动到页首,给人的感觉很不爽。

    为什么当用"#"填充空链接时会出现页面跳动的现象?原因是"#"被默认为锚点"#top",即跳转到本页页首。

 

   查找了下资料, 以下为自己尝试过的3种解决办法:

    1、使用3个#号,<a href="###" onclick="">链接</a>。

        为什么要用3个呢,不得其解。也没有查资料了,本来就是一个让人蛋疼的问题。。

        试了下使用两个#,ff和chrome下可以防页面跳动,IE8下页面依然跳页首(其他IE没有测试,应该也会跳动吧)。

        3个#,这几个浏览器就都能防页面跳动了。

        当然你如果不闲麻烦的话,使用4个#、5个#甚至更多#时,页面跳动现象也可解决。

    2、使用javascript:void(0),<a href=" javascript:void(0) " onclick="">链接</a>。

         这种写法曾经给我留下过深刻的印象,可让我吃过大苦头啊。

         它在各个浏览器下均可正常工作(这里的正常工作,指防止页面跳动)。但在IE6下它会防止页面整体刷新(ff、chrome、IE8下不会出现这样的状况,其他浏览器就不得而知了),所以你的onclick事件中如果有页面整体刷新这样的操作时,最好还是不要使用这种写法了。 当时就是因为涉世不深,导致了调此bug到深夜的痛苦经历,最终是在师傅的指导下解决了此bug。

        也许正因为它有防页面整体刷新的操作,在ajax的交互中用的比较多。

        至于javascript:void到底是个什么玩意,自己去baidu或google吧。懒得在这贴了。

    3、 在onclick事件函数中使用return false,<a href=" # " onclick="return false">链接</a>。

         没什么可说的,至于为什么这样写可以做到防页面跳动,自己去探索吧。

 

     当然肯定还有其他的处理方法。如果你也闲得蛋疼的话,告诉我吧,大虾们!!

分享到:
评论
1 楼 ndscwxc9002 2017-02-16  
必须给你点赞,很好的解决了我的问题!

相关推荐

    空链接 href="#"与href="javascript-void(0)"的区别.docx

    - **定义**:`href="javascript:void(0)"` 是另一种空链接写法,它告诉浏览器当前链接的目标是一个JavaScript表达式,该表达式的值为 `undefined`。 - **行为**: - 当点击该链接时,浏览器会执行JavaScript代码 `...

    链接中的href=#是什么意思呢

    当我们看到`href="#"`时,这是一种特殊的用法,它表示链接指向的是当前页面的顶部,或者更准确地说,是一个名为`#`的锚点。 `#`符号在URL中通常用来引用页面内的特定位置,即书签。书签允许用户快速跳转到页面的...

    正确的空链接写法 防止点击后页面会跳动问题 a href #号问题

    本文将详细介绍三种防止页面跳动的正确空链接写法。 首先,我们需要理解为什么`href="#"`会导致页面跳动。`#`在URL中通常代表锚点,当浏览器检测到`href="#"`时,它会查找页面内是否有与`id`为`#`的元素,如果没有...

    jq平滑移动、定位到锚链接

    锚链接是HTML中的一个特性,通过使用`&lt;a&gt;`标签的`href`属性引用页面内的ID来创建,例如`&lt;a href="#section1"&gt;Section 1&lt;/a&gt;`。当用户点击这样的链接时,浏览器会立即跳转到页面中具有相应ID的元素位置,比如`...

    Web应用安全:href属性与src属性的XSS.pptx

    如果用户选择了 &lt;a&gt; 标签中的内容,那么浏览器会尝试检索并显示 href 属性指定的 URL 所表示的文档,或者执行 JavaScript 表达式、方法和函数的列表。 2.herf定义 herf属性 定于语法:&lt;a href="URL"&gt; 3.定于语法与...

    html 空链接 href="#"与href="[removed]void(0)"的区别

    总结来说,`href="#"`和`href="javascript:void(0)"`都用于创建无实际跳转的链接,但`javascript:void(0)`提供了更好的用户体验,尤其是在长页面中,因为它不会引起页面滚动。在现代前端开发中,推荐使用纯...

    HTML base 标签的 href 属性

    总之,`&lt;base&gt;`标签的`href`属性是一个强大的工具,用于管理和标准化页面中的链接行为。正确使用它可以提高网站的可维护性和用户体验。在实际开发中,我们需要根据项目需求来决定是否以及如何使用这个标签,确保其...

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

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

    PHP替换HTML文件中所有a标签的HREF属性

    PHP替换HTML文件中所有a标签的HREF属性,其他代码不变,不管执行多少次都不变

    window.location.href页面跳转的用法(区别于redirect)

    在含有表单的页面中,可以通过设置表单的目标属性(`target`)来控制页面跳转行为: - `&lt;form&gt;`:提交后默认为当前页面跳转。 - `&lt;form target="_blank"&gt;`:提交后弹出新窗口。 - `&lt;form target="_parent"&gt;`:提交...

    详解js location.href和window.open的几种用法和区别.docx

    详解 JS location.href 和 window.open 的几种用法和区别 location.href 和 window.open 是 JavaScript 中两个常用的方法,用于控制浏览器的导航和窗口操作。它们的用法和区别是很多开发者需要了解和掌握的知识点。...

    爬取网页中的链接(通常位于<a>标签的href属性中)是网页爬虫的一项常见任务

    爬取网页中的链接(通常位于标签的href属性中)是网页爬虫的一项常见任务。以下是使用Python和BeautifulSoup库来实现这一功能的基本步骤。假设你已经安装了requests和beautifulsoup4。 解析HTML内容‌: 如果请求...

    Web应用安全:href属性与src属性的XSS(实验).docx

    在 Web 应用安全中,跨站脚本攻击(Cross-Site Scripting,XSS)是一种常见的攻击方式,攻击者可以通过 inject 恶意脚本到 Web 页面中,从而盗取用户敏感信息或实施恶意攻击。在这个实验中,我们将探讨 href 属性与 ...

    详解A标签中href=""的几种用法

    A 标签中 href 的几种用法详解 A 标签是 HTML 中最基本的超链接标签,但是在实际开发中,href 属性的使用却有很多种变化。下面我们将详解 A 标签中 href 的几种用法。 JS 调用方法 在 A 标签中,我们可以使用 ...

    IFrame中Session丢失的解决办法

    在探讨“IFrame中Session丢失的解决办法”这一主题时,我们首先需要理解Session与IFrame的基本概念及其在Web开发中的交互方式。Session是Web应用中用于存储用户特定信息的一种机制,它允许开发者在用户的会话期间...

    js页面跳转 多种javascript页面中转方法

    本文将详细介绍几种常见的JavaScript页面跳转方法及其应用场景。 ### 1. `window.location.href`属性 #### 实现方式: ```javascript window.location.href = "login.jsp?backurl=" + window.location.href; ``...

    详解A标签中href=””的几种用法

    而且,大多数人认为a标签最重要的作用是实现超链接,今天我刚好碰到a标签的一种写法&lt;a&gt;&lt;/a&gt;,所以就来整理下a标签中href的几种用法。 一、js的几种调用方法(参考总结的)  1、a href="[removed]js_method();"  这...

    ASP.NET中页面传值的几种方法

    ### ASP.NET中页面传值的几种方法 在ASP.NET开发中,页面间的传值是非常重要的一个环节,这对于实现用户交互、数据处理等功能至关重要。本文将详细介绍ASP.NET中常见的几种页面传值方法,并对其进行深入解析。 ###...

Global site tag (gtag.js) - Google Analytics