常常看到有些超链接移上去时,显示的是javascript:; 的一段JS声明,啥都没,看源码也没有
<a id="a" href="javascript:;" >确定</a>
把我个人猜想写下来,在这里献丑了。
方法一、
<a href="javascript:;" οnclick="show();">确定</a>
<script>
function show(){alert("OK!");}
</script>
方法二、
<a id="a" href="javascript:;" ">确定</a>
<script for="a" event="onclick">
alert("OK!");
</script>
方法三、
<a id="a" href="javascript:;" ">确定</a>
<script>
var a = document.getElementById('a');
a.οnclick= function(){ alert("OK!");};
</script>
方法四、
<a href="javascript:;" id="mylink">确定</a>
<script type="text/javascript">
function AttachEvent(type, target, handler, owner)
{
var eventHandler = handler;
if(owner)
{
// 在这里重新定义一个处理函数
eventHander = function(e)
{
handler.call(owner, e);
}
}
if(window.document.all)
target.attachEvent("on" + type, eventHander );
else
target.addEventListener(type, eventHander, false); //注意这里第一个参数是click而不是onclick
}
function MyLink_Click(e)
{
alert(this.name);
var target = e.srcElement || e.target;// 获取事件触发来源对象,即按钮对象(分为IE和Mozilla/firefox,e是event对象.
alert(target.href);
}
var myobj = new Object();
myobj.name = "这是我的名字";
var mylink = window.document.getElementById("mylink");
AttachEvent("click", mylink, MyLink_Click, myobj);
</script>
方法五、
用到了prototype.js的Event.observe
<script src="prototype.js"></script>
<a id="a" href="javascript:;" >确定</a>
<script>
function show(){ alert("OK!");}
Event.observe("a", "click",show );
</script>