jquery 中$(this)和function(e)中e 的问题

1、我一直不是很明白function(e)传递的是什么参数,求指教,例如我下面的代码中的e是???2、我用jquery实现鼠标移动时改变背景的颜色的效果,其中用到了$(t... 1、我一直不是很明白function(e) 传递的是什么参数,求指教,例如我下面的代码中的e是???
2、我用jquery实现鼠标移动时改变背景的颜色的效果,其中用到了$(this),我知道$(this)是jquery对象,但是使用时不知道为什么出错了
<ul class="navTree">
<li id="Customer1" >
<dl>
<dt class="" >客户管理</dt>
<dd id="Customer_1" >今天需联系</dd>
<dd id="Customer_2" >3天内需联系</dd>
<dd id="Customer_3" >7天需联系</dd>
<dd id="Customer_4" >30天需联系</dd>
<dd id="Customer_5" >30天需联系</dd>

</dl>
</li>
<li id="Bill_1" class="" ><dl><dt>发票</dt></dl></li>
<li id="Compensation_1" class=" " ><dl><dt>补偿</dt></dl></li>
</ul>
jquery:
$(".navTree li").on("mouseover",function(e){
$(this).find("dt").removeClass("navTree-selected");
$(this).find("dd").removeClass("navTree-selected");
e.target.className="navTree-selected";
})
jquery 中当使用$(this).find("dt").removeClass("navTree-selected"),鼠标移动时,有的class去掉了“navTree-selected”,有的没有去掉,当我把$(this)替换成 $(".navTree li")时,就没有问题了,只有鼠标移上去的那个标签class= .navTree li,请问这个到底是怎么回事
展开
 我来答
cnsuyong
推荐于2018-02-28 · TA获得超过1075个赞
知道小有建树答主
回答量:767
采纳率:100%
帮助的人:436万
展开全部
  $(this)是触发执行当前函数块(事件处理函数)最内层(距离最近的)的jQuery对象,在你的代码中就是触发了mouseover事件的对象。
  function(e)中的参数e是事件对象,根据事件的不同,具有对应的子属性,比如键盘事件和鼠标事件等,你的代码中对应的是鼠标事件。
  建议:如果是为了实现鼠标滑过的动态UI,那么可以考虑使用jQuery封装的hover事件,逻辑比较清晰。
bawfgfhv
2014-04-04 · 超过19用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:43.3万
展开全部
你把事件绑定在$(".navTree li").on 上面的哇, $(".navTree li")所以这儿肯定可以撒

你的 e.target.className="navTree-selected" 当中的 e 是跟你绑定事件的元素有关系的

你可以试下给所有的元素都绑定 mouseover 事件 $(".navTree *").on 应该 dt dd 就也会生效了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伱麻麻嘚吻
2014-04-04 · TA获得超过336个赞
知道小有建树答主
回答量:463
采纳率:0%
帮助的人:231万
展开全部
你自己说的很明白了
$(this).find('dt')他只是在找当前对象下的“dt”并不会找 其他li下的dt
而$(".navTree li")是所有li对象的集合 这样下的find就是 所有li下的 dt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式