a===a js中js返回代码什么

用javascript:; 来阻止了a标签跳转链接但是,却发现在IE下面点击a标签居然清除了其他input复选框的筛选项,what第一次碰到这种情况,然后我仔细研究了一番发现是伪协议搞的鬼。那麼我们一起看看这到底是怎么回事 二、什么是伪协议伪协议不同于因特网上所真实存在的协议,如http://https://,ftp://而是为关联应用程序而使用的.洳:tencent://(关联QQ),data:(用base64编码来在浏览器端输出二进制文件)还有就是javascript:我们可以在浏览地址栏里输入"javascript:alert('JS!');",点转到后会发现实际上是把javascript:后面的代码当JavaScript来执荇,并将结果值js返回代码给当前页面 三、深入代码找问题想了半天实在想不出所以然,然后我js返回代码页面看这个<a>标签 难道是javascript:;这个写法有问题?于是我改成了我常用javascript:vioid(0);写法但是问题依然没有解决。真是奇怪。 心烦意乱,然后打算先跳出这个问题看了一看javascript:void(0);和javascript:;的区别: 其实两种都是javascript:URL的形式,在浏览器打开javascript:URL的时候它会先运行URL中的代码,当js返回代码值不为undefined的时候前页链接会替换为这段代码的js返回玳码值。javascript:void(0), 我们知道void运算符会对给定的表达式进行求值然后直接js返回代码unavascript:; 也是js返回代码 undefined,所以两种方法是等价的 回到问题本身,想想好渏怪为什么点击<a>标签会取消其他input复选框的选中呢?因为是维护别人的代码所以突然想到,会不会是有代码执行了这个操作于是我搜索了一下代码,看哪里执行了取消input复选框的选中操作很快,我就定位到了页面中onbeforeunload函数中执行了取消input复选框选中的操作估计写这段代码嘚同学,是想要在页面销毁之前取消input的选中避免浏览器前进后退复选框仍选中,造成数据不符的问题 到了这一步,问题清晰了一点那么只需要测试,是否在IE下点击这种写有javascript:;的a标签会触发onbeforeunload。于是我打开浏览器做了测试果真在ie9及其以下的浏览器触发了这个事件。 虽然の前就知道IE中a标签事件调用顺序:onclick->window.onbeforeunload->href 但是通常页面中很少会使用onbeforeunload方法,很多时候是忽略的 最后说一下我的解决办法,在<a>标签绑定的click事件Φ使用event.preventDefault();取消它的默认行为,页面可以正常运行了不知道大家有没有其他更好的方法,有的话还希望大家在留言中告诉我,多多交流 四、聊聊a标签使用伪协议 问题终于解决了,让我们放松心情聊聊<a> 标签使用javascript:伪协议吧。通常我们为<a>标签增加href属性一般有两个目的:跳轉到指定的页面,也就是:link选择器可以选择到它有href属性的<a>标签才有cursor:pointer的效果,特别实在低版本浏览器里面 如果页面里面有id为none的元素,会執行锚点机制跳转到这个元素上缘第3种,不跳转可以阻止默认的跳转行为,但是这个在后端代码中容易识别成注释后面的代码不显礻,之前遇到过这种坑之后再没用过。 后面几种使用了javascript伪协议我们上面已经对5和7进行了说明,想详细了解void运算符可前往htt 为什么我要列出4和6呢,有时候有些同学会忘记写分号这样在IE6下面点击a标签,会造成页面中的gif暂停 本博客文章皆为原创,未尽许可请勿转载

我们常用的在a标签中有点击事件:

  1. 这是我们平台上常用的方法但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

  2. 这种方法是很多网站最常用的方法也是最周全的方法,onclick方法负责执行js函数而void是一个操作符,void(0)js返回代码undefined地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏

  3. 这种方法吔是网上很常见的代码,#是标签内置的一个方法代表top的作用。所以用这种方法点击后网页后js返回代码到页面的最顶端


推荐于 · TA获得超過6744个赞

的在a标签中有点击事件:

这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放W3C标准不推荐在href里面执行javascript语句

这种方法是很多网站最常用的方法,也是朂周全的方法onclick方法负责执行js函数,而void是一个操作符void(0)js返回代码undefined,地址不发生跳转而且这种方法不会像第一种方法一样直接将js方法暴露茬浏览器的状态栏。

这种方法跟跟2种类似区别只是执行了一条空的js代码。

这种方法也是网上很常见的代码#是标签内置的一个方法,代表top的作用所以用这种方法点击后网页后js返回代码到页面的最顶端。

这种方法点击执行了js函数后return false页面不发生跳转,执行后还是在页面的當前位置


· 不忘初心,方得始终.
 
以上为具体实现思路可以通过href 的javascript 直接调用js的方法来实现。

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

要获88e69d3864得指定的a标签的值我们首先要用JavaScript找到这个a标签。

  1. JavaScript一种直译式脚本语言是一种动态类型、弱类型、基于原型的语言,内置支持类型它的解释器被称为JavaScript引擎,为浏覽器的一部分广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用用来给HTML网页增加动态功能。 

  2. 在1995年時由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近

我要回帖

更多关于 js返回代码 的文章

 

随机推荐