JavaScript,脚本里面什么意思啊?

<html><head><scripttype="text/javascript">functionwhichElement(e){vartargif(!e)vare=w... <html>
<head>
<script type="text/javascript">
function whichElement(e)
{
var targ
if (!e) var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNode
var tname
tname=targ.tagName
alert("You clicked on a " + tname + " element.")
}
</script>
</head>

<body onmousedown="whichElement(event)">
<p>在文档中点击某个位置。消息框会提示出您所点击的标签的名称。</p>

<h3>这是标题</h3>
<p>这是段落。</p>
<img src="/i/eg_mouse2.jpg" />
</body>
</html>

脚本里面的代码什么意思啊,刚刚学习,谁能帮忙解释一下吗
<script type="text/javascript">
function whichElement(e)
{
var targ
if (!e) var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement
if (targ.nodeType == 3) // defeat Safari bug
targ = targ.parentNode
var tname
tname=targ.tagName
alert("You clicked on a " + tname + " element.")
}
</script>
展开
 我来答
dreamseaKIK
推荐于2016-10-28 · TA获得超过670个赞
知道小有建树答主
回答量:463
采纳率:81%
帮助的人:186万
展开全部
if (!e) var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement

上面这段代码是用来获取触发了鼠标按下事件的对象元素的,它这么写是为了兼容不同浏览器,有的浏览器的Js的事件对象是window.event.target(好像是IE),有的是window.event.srcElement(比如谷歌浏览器),而火狐浏览器,在触发事件的时候,会自动给方法传递第一个参数e,就是事件event.所以它的方法whichElement(event)可以这么调用。

后面就是判断元素的属性nodeType 的值了,如果等于3,则获取该元素的父节点。

最后alert输出父节点的标签的名称

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式