读书人

e , e.target 跟 tagName 分别是什么

发布时间: 2013-07-11 15:38:46 作者: rapoo

e , e.target 和 tagName 分别是什么

例一:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<dl id="test">
<dt>test</dt>
<dd><a href="http://www.baidu.com">test1</a></dd>
<dd><a href="http://www.baidu.com">test2</a></dd>
<dd><a href="http://www.baidu.com">test3</a></dd>
<dd><a href="http://www.baidu.com">test4</a></dd>
<dd><a href="http://www.baidu.com">test5</a></dd>
</dl>
<script type="text/javascript">

$('#test').click(function(e){
var itarget = $(e.target);
if (itarget[0].tagName=='A'){?
alert(itarget.html());
return false;
}
});?
</script>

说明:

e?是经过 jQuery 包装之后的事件对象,使用时我们不需要去考虑浏览器兼容性问题了。

e.target?取得的是事件发生的对象,即事件源,它是 DOM 对象。

tagName?是 DOM 对象的属性,用于获取 DOM 对象的标签名,取出来是大写的,你要取小写的用 nodeName。或者用toLowerCase()tagName转换成小写之后再进行比较。

?

例二:

e.target的含义

$(function(){
????$("li:has(ul)").click(function(e){
????????if(this==e.target){
????????????$(this).children().toggle();
????????????$(this).css("list-style-image",($(this).children().is(":hidden")?"url(plus.gif)":"url(minus.gif)"))
????????}
????????return false;????//避免不必要的事件混绕
????}).css("cursor","pointer").click();????//加载时触发点击事件
???
????//对于没有子项的菜单,统一设置
????$("li:not(:has(ul))").css({
????????"cursor":"default",
????????"list-style-image":"none"
????});
});

===========================

具体问题具体分析;当前目标
在event事件中代表点击对象;
loader事件:加载对象;
e只是参数,任意取值;对应即可;


e.target 是目标对象,e.event是目标所发生的事件。

读书人网 >Web前端

热点推荐