html中关于a标签href和onclick的用法区别以及优先级别的示例详解

我以前在写的hrefonclick一直很随意,后来出过几次问题,以后才开始重视这个问题:

首先摘录一篇文档:

在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

void 操作符用法格式如下: 

1. javascript:void (expression) 2. javascript:void expression

expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。 (实现版本 Navigator 3.0)

你以使用 void 操作符指定超级链接。表达式会被计算但是不会当前文档处装入任何内容。

下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。

下面的代码创建了一个超级链接,用户单时会提交表单。

单此处提交表单

下面代码则执行了subgo()函数,

在这里,javascript:void(0),没启实质上的作用,它仅仅是一个死链接,执行的函数是subgo()。

点我与点我区别。

实际上 #包含了一个位置信息默认的锚是#top 也就是网页的上端 ,而javascript:void(0) 仅仅表示一个死链接,没有任何信息。所以调用脚本的时候最好用void(0)

    href一般是指向一个URL地址,也可以调用javascript ,如href=”javascript:xxx();”,文档中推荐这样写:xx,但是这种方法在复杂环境有时会产生奇怪的问题,尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。

    我们知道链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接),如果不想执行href 属性下的动作执行,onclick 需要要返回 false ,一般是这样写onclick=”xxx();return false;”.

 TabPane的JS源码,由于onclick没有返回FALSE,当IFRMAE中关闭TABPANE时会导致href执行,页面显示有问题。解决办法就是将下面代码复制到使用TAB的JSP中。

TabPane.prototype.appendTitle = function(tabpage){  var td = $create("td");  var strHTML = "";  strHTML +="";  strHTML +="";  if(tabpage.showCloseButton){   strHTML +="";  }  if(tabpage.allowReload){   strHTML +="";  }  strHTML +="

"; strHTML +="

"; strHTML += tabpage.getTitle(); strHTML +="

"; strHTML +=""; if(isIE){ strHTML +="

Designify
Designify

拖入图片便可自动去除背景✨

Designify 90
查看详情 Designify
"; }else{ strHTML +="

"; } strHTML +="
"; strHTML +=""; if(isIE){ strHTML +="

"; }else{ strHTML +="

"; } strHTML +="

"; strHTML +="
"; td.className = TAB_STYLE_NOMAL + this.styleSuffix; td.innerHTML = strHTML; tabpage.__titleTD = td; tabpage.setTitleTD(); tabpage.initStatus(); this.__titleTR.insertBefore(td,this._titleTD); tabpage.titleWidth = td.offsetWidth;}

href=’javascript:function()’> 这样写是为了让这个链接不要链接到新页面转而执行一段js代码。和onclick能起到同样的效果,一般来说,如果要调用脚本还是在onclick事件里面写代码,而不推荐在href=’javascript:function()’ 这样的写法,因为 href 属性里面设置了js代码后,在某些浏览器下可能会引发其他不必要的事件。造成非预期效果。而且 onclick事件会比 href属性先执行,所以会先触发 onclick 然后触发href,所以如果不想页面跳转,可以设置 onclick里面的js代码执行到最后返回一个false,这样 href 里面的东西就不会执行了。在ajax应用程序中,多写着下面的这样 ,以表示这个链接不跳转,而执行一段js脚本。href=”javascript:void(0);” onclick=”function()”>或者 href=”javascript:;” onclick=”function()”>void(0) 只是用来计算一个空值,其实也是什么事情都不做,而分号“;”则表示是一个空的js语句,这样就不会有任何其他跳转发生了,而且W3C标准不推荐在href里面执行javascript语句,所以还是用 onclick事件触发吧

如果不设置 href属性在IE6下面会不响应hover。双击后会选中标签的父容器而非这个一a标签(IE下都存在这一问题)。

所以,比较推荐的写法是假定我们有个fn方法,需要取到这个元素,第一个方法传入的this是空值。

下面代码则执行了subgo()函数,

在这里,javascript:void(0),没启实质上的作用,它仅仅是一个死链接,执行的函数是subgo()。

点我与点我区别。

实际上 #包含了一个位置信息默认的锚是#top 也就是网页的上端 ,而javascript:void(0) 仅仅表示一个死链接,没有任何信息。所以调用脚本的时候最好用void(0)

    href一般是指向一个URL地址,也可以调用javascript ,如href=”javascript:xxx();”,文档中推荐这样写:

a href="http://www.111cn.net/zhongxing/U880/ javascript:void(0)" onclick="xxx();">xx,

但是这种方法在复杂环境有时会产生奇怪的问题,尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。

    我们知道链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接),如果不想执行href 属性下的动作执行,onclick 需要要返回 false ,一般是这样写onclick=”xxx();return false;”.

TabPane的JS源码,由于onclick没有返回FALSE,当IFRMAE中关闭TABPANE时会导致href执行,页面显示有问题。解决办法就是将下面代码复制到使用TAB的JSP中。

Html A标签中 href 和 onclick 同时使用的问题 优先级别

1 顺序 
ie 6 : href 先触发 onclick 后触发 
其他浏览器 先触发onlick 后触发 href

2 href=”javascript: xxx()” 
不能传入this作为参数 
onclick可以

3 优先触发的方法如果返回 false 导致后一个事件不被触发 

比如

会导致页面定位到书签位置,


由于 1和 4 的原因 
在ie6 下 同时有

6 总结: 
1) 在不需要传递this作为方法的参数时候,推荐 
只使用href=”JavaScript: “

2) 如果需要使用this参数,推荐

如下面一个列子。 

我们需要A在第一次和第二次点击的时候 访问 href 第3次以后的就访问另一个地址

在a标签的href与onclick中使用javascript的区别 

链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接); 
假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,onclick 必须得到一个 false 的返回值。不信,你可以将 goGoogle 函数中的 return false 注释掉; 
如果页面过长有滚动条,且希望通过链接的 onclick 事件执行操作。应将它的 href 属性设为 javascript:void(0);,而不要是 #,这可以防止不必要的页面跳动; 
如果在链接的 href 属性中调用一个有返回值的函数,当前页面的内容将被此函数的返回值代替; 
在按住Shift键的情况下会有所区别。
今天我遇到的问题,在IE6.0里以href的形式访问不到parentNode。
尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。
就这些,花了不少时间在这上面。

[缘由]
用CheckBoxList控件时想实现在每个checkbox后再加链接的功能,点链接实现一些功能之外,还要把checkbox选中。

最后用parentNode来实现的

以上就是html中关于a标签href和onclick的用法区别以及优先级别的示例详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1544879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月21日 16:18:21
下一篇 2025年12月21日 16:18:32

相关推荐

  • html中绑定点击事件的几种方法介绍

    html中为button绑定事件的方式有三种。 例如以下标签: submit 一、使用jquery进行绑定 $(‘#btn_submit’).click(function(){}); 二、使用原生js绑定,(注意:Internet Explorer 8 及更早IE版本不支持 addEventList…

    好文分享 2025年12月21日
    000
  • html中关于Button.onclick的事件总结分享

    html中关于button.onclick的事件总结分享 关于web设计中的命名标准 #page#header #logo #sm (servicemenu) .regsiter .login #nav .menu .subMenu .search .sreachbtn(搜索按钮).sreachin…

    好文分享 2025年12月21日
    000
  • 在html静态页面中给button加上提交链接的方法介绍

    1、按钮做成链接(图片)的样子提交按钮 提交链接 提交 重置按钮 重置链接 重置 普通按钮 立即学习“前端免费学习笔记(深入)”; 普通链接 链接 至于图片也一样把a标签换成img2、链接做成按钮的样子 注册=> —————&#821…

    好文分享 2025年12月21日
    000
  • html中input框中的radio是否被选中的判断

           少写文字, 直接用代码说话: 男性:女性:testfunction output(){ if(document.getElementById(“male”).checked){alert(“1”);} if(document.getElementById(“female”).check…

    好文分享 2025年12月21日
    000
  • html中关于换行符占空间的解决办法

    如上图:parent的width:600px;            child1和child2的width:300,display:inline-block; 我们希望它们并排显示,但为什么会换行呢? Document 1 2 .parent{ width:600px; border: solid…

    2025年12月21日
    000
  • html页面中如何实现保留空格以及换行符的实例分析

    我们知道,在浏览器对html页面进行渲染显示的时候,会对html文件中的空格和换行符进行处理,这样我们原来写在html文件中的格式化就可能起不到效果,尤其是在我们想展示结构化程序代码时就会遇到问题,如下所示: for i = 1 to 10 print inext i 这样的HTML文件在浏览器上显…

    好文分享 2025年12月21日
    000
  • html中关于标签如何设置默认选中的选项详解

    方法有两种。 第一种通过的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果。 123 第二种为通过前端js来控制选中的项: function change(){ document.getElementById(“sel”)[2].selected=true;}123 获取标签…

    好文分享 2025年12月21日
    000
  • html 和js 中实现倒计时功能

    倒计时主要用到的知识点:1、设置时间间隔的setinterval可以被clearinterval取消             2、毫秒转换为时分格式                 这个是效果图      下面是js中的函数 var shijian=3600; var time=null; func…

    2025年12月21日
    000
  • html中图片调整大小问题解决办法

    我从一个第三方接口获取了一张图片。当我把图片嵌入到我的页面的时候,发现图片太大了。 直接调整div大小不起作用,图片还是那么大。请问有什么办法可以调整图片显示的大小吗? 图片是动态获取的,也就是说刷新一下页面就会获取一张新的图片。所以重新裁图片解决不了问题。 html源码如下 @@##@@ @@##…

    好文分享 2025年12月21日
    000
  • 如何调整html网页中图片大小?

    CSS包含一个控制元素宽度的width属性。像控制字体一样,我们使用px(像素)来指定图片的宽度。 例如,如果我们想要创建一个名为larger-image的类选择器,把HTML元素的宽度设定为500像素,我们使用: .larger-image { width: 500px; } 任务:创建一个名为s…

    2025年12月21日
    000
  • html中为什么不使用img标签来控制图片大小?

    曾经有客户跟我说在网站后台上传了新闻图片,是相机拍摄的,传上去了但是超出了网页显示的范围,出现了滚动条,问我怎么处理,我告诉他先用图片处理软件将图片处理到合适的大小然后再上传,比如处理成600像素的宽度,高度按比例缩放,他告诉我说之前的网站都不用处理图片,传上去大小都是一样的,不会出现这种情况,后来…

    好文分享 2025年12月21日
    000
  • html中关于文本框样式的总结大全(收藏)

     输入框景背景透明: 鼠标划过输入框,输入框背景色变色:   输入字时输入框边框闪烁(边框为小方型): function borderColor(){if(self[‘oText’].style.borderColor==’red’){self[‘oText’].style.borderColor …

    好文分享 2025年12月21日
    000
  • html插入图片的示例代码详解(图)

    网页图片的基本格式:     HTML的相关标准中并没有规定图片的格式,原则上来说是任意的。但是目前市场上的主流浏览器对网页图片的格式有所要求,通常情况下是:JPEG(联合图像专家组)和GIF(图像交换格式)两种格式的图片;至于两种图片的一些特点和各自的优缺点,可通过百度自行搜索。 插入图片:   …

    2025年12月21日 好文分享
    000
  • html中如何嵌入图像的实例分析

    img元素允许我们在html文档里嵌入图像。 要嵌入一张图像需要使用src和alt属性,代码如下: @@##@@ 显示效果: 1 在超链接里嵌入图像 立即学习“前端免费学习笔记(深入)”; img元素的一个常见用法是结合a元素创建一个基于图像的超链接,代码如下: @@##@@ 浏览器显示这张图片的方…

    2025年12月21日 好文分享
    000
  • html中空格字符实体的详细介绍

    HTML 实体 在 html 中,某些字符是预留的。 在 HTML 中不能使用小于号(),这是因为浏览器会误认为它们是标签。 如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。 字符实体类似这样: &entity_name;或者e…

    好文分享 2025年12月21日
    000
  • 关于html页面优化的实例详解

    1. 减少http请求数。     (1) 合并JS文件和CSS文件。     (2) 合并框架图片及相对变动较少的图片或成一张,通过CSS背景切割来完成渲染。     (3) 合理使用本地Cache来缓存JS/CSS/IMAGE。 2. 减小被请求文件的大小,减少请求数据占用的网络带宽。 立即学习…

    好文分享 2025年12月21日
    000
  • html中关于a标签伪类中的visited无效的解决办法

    html中关于a标签伪类中的visited无效的解决办法 伪类超链接<!—->a:link {color:red;font-size:20px;}a:visited {color:black;font-size:22px;}a:hover {color:yellow;font-siz…

    好文分享 2025年12月21日
    000
  • html中a标签href=””的几种用法介绍

            众所周知,a标签的最重要功能是实现超链接和锚点。而且,大多数人认为a标签最重要的作用是实现超链接,今天我刚好碰到a标签的一种写法,所以就来整理下a标签中href的几种用法。 一、Js的几种调用方法(参考总结的)       1、 a href=”javascript:js_metho…

    好文分享 2025年12月21日
    000
  • html中a标签href=’#’与href=’###’的区别分享

      首先, 标签 + onclick='{jscode}’ 是很常用的一种 js 运用方式,而不使用 href=’javascript:{jscode}’ 是为了兼容多种浏览器对 标签的解释和处理不同。其次,使用 标签 + onclick='{jscode}&#8…

    好文分享 2025年12月21日
    000
  • html中a标签href=#与href=javascript:void(0)的区别解析

    浅谈href=#与href=javascript:void(0)的区别,需要的朋友可以参考一下 #”包含了一个位置信息 默认的锚点是#top 也就是网页的上端 而javascript:void(0)  仅仅表示一个死链接 这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首 立即…

    好文分享 2025年12月21日
    000

发表回复

登录后才能评论
关注微信