<a > 标签调用js的几种方法

JavaScript032

<a > 标签调用js的几种方法,第1张

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

a href="javascript:js_method()"

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

2. a href="javascript:void(0)" onclick="js_method()"

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

3.a href="javascript:" onclick="js_method()"

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

4.a href="#" onclick="js_method()"

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

5.a href="#" onclick="js_method()return false"

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

我看了下taobao的主页,他们采用的是第2种方法,而alibaba的主页是采用的第1种方法,和我们的区别是每个href里的javascript方法都用try、catch包围。

综合上述,在a中调用js函数最适当的方法推荐使用:

a href="javascript:void(0)" onclick="js_method()"

a href="javascript:" onclick="js_method()"

a href="#" onclick="js_method()return false"

<a href="javascript:void(0)" onclick="functionname()" >aaaa</a>

这是最常用的调用的办法,可以参考一下

其他办法在一定程度上具有可行性,但是不常用,可以对比一下效果选择最适合的

<a href="javascript:" onclick="js_method()”></a>

<a href="#" onclick="js_method()return false”></a>

扩展资料:

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

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

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

参考资料:百度百科-javascript

如此是不可能实现的,可以在a标签的“abc”外添加一个span。<span id="spanId">abc</span> 即,<a id="xxx" href=""><span id="spanId">abc</span></a> 然后js里,document.getElementById("spanId").click() 你要点击的是abc 这个 所以你模拟点击事件肯定是要点这个abc啊