1

可能重复:
将 JavaScript 代码放入 <a> 的不同方法之间有什么区别?

之间有什么不同

<a href="javascript:jsFunction();">test</a>

<a href="javascript:void(0);" onclick="javascript:jsFunction();">test</a>

非常感谢。

4

3 回答 3

3

第一个仅适用于a标签。这是一个链接,被您的浏览器解释为 javascript。

第二个是 DOM 事件,可用于所有标签。

于 2012-09-27T12:02:57.283 回答
1

不是这个@param

<a href="javascript:jsFunction(this);">test1</a>

成功这个@param

<a href="javascript:void(0);" onclick="javascript:jsFunction(this);">test2</a> 


function jsFunction($this) {

    return $this; // not href  attribute this @param ; onClick attribute success  this @patam
}
于 2012-09-27T12:11:57.407 回答
1

第一个是使用该javascript协议的链接,告诉浏览器在此之后执行所有内容作为 JavaScript,而不是尝试加载它指向的资源。

另一方面,该onclick属性是一个实际的 JavaScript 事件处理程序,不应该javascript:在开始时使用 with - 它已经知道它是 JavaScript,因此不需要被告知将其作为 JavaScript 执行。

但是,为了将您的内容 (HTML) 和功能 (JavaScript) 分开,最好不要使用上述任何一种技术,而是添加(例如)id属性来标识您的元素,然后使用 JavaScript 绑定您的事件处理程序.

HTML:

<a href="#" id="test-anchor">test</a>

JavaScript:

document.getElementById('test-anchor').onclick = function(event) {
    jsFunction();
}
于 2012-09-27T12:08:58.983 回答