<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function redirect(){
var obj = event.srcElement;
alert(obj.innerHTML);
}
</script>
</head><body>
<!--方法一-->
<a href="javascript:redirect();">javascrpt</a><!--方法二-->
<a href="#" onclick="redirect();">javascrpt</a>
</body>
</html>
在网上看到一些帖子说方法一和方法二能达到同样的效果——我想应该说的是单击事件吧,即都能达到单击执行的目的???
但是上面的例子中方法一和方法二运行的效果却不一样——证明方法一和方法二的本质不一样
href="javascript:redirect();"与onclick="redirect();"究竟有哪些本质区别,或者说在上面的例子中为什么当用href="javascript:;"为什么获取不到event.srcElement???等高人指点上面的两个问题???
谢谢!!!
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
function redirect(){
var obj = event.srcElement;
alert(obj.innerHTML);
}
</script>
</head><body>
<!--方法一-->
<a href="javascript:redirect();">javascrpt</a><!--方法二-->
<a href="#" onclick="redirect();">javascrpt</a>
</body>
</html>
在网上看到一些帖子说方法一和方法二能达到同样的效果——我想应该说的是单击事件吧,即都能达到单击执行的目的???
但是上面的例子中方法一和方法二运行的效果却不一样——证明方法一和方法二的本质不一样
href="javascript:redirect();"与onclick="redirect();"究竟有哪些本质区别,或者说在上面的例子中为什么当用href="javascript:;"为什么获取不到event.srcElement???等高人指点上面的两个问题???
谢谢!!!
2.获取不到event.srcElement是因为楼主没有传递event参数,正确写法如下:<a href="javascript:redirect(event);">javascrpt</a>function redirect(event){
var obj = event.srcElement;
alert(obj.innerHTML);
}
<!--方法一-->
<a href="javascript:alert(this.innerHTML);">javascrpt</a><!--方法二-->
<a href="#" onclick="alert(this.innerHTML);">javascrpt</a>
</body>这样写就 可以 !方法1 居然不对!!! 很奇怪 很奇怪!!
IE不用传event进去, 它有默认的参数, 而别的内核没有, 必须手动传值进去
这样写取不到event.srcElement是因为超链接是直接去执行函数redirect(event);没有触发事件,所以此时的event为null,自然就没有event.srcElement了。