jQuery.live API 绑定事件问题

用jQuery.load载入新的HTML后,用live()给元素绑定事件,子元素也继承了,如何取消子元素的事件。------------------HTML-------... 用jQuery.load载入新的HTML后,用 live() 给元素绑定事件,子元素也继承了,如何取消子元素的事件。
------------------HTML--------------------
<dd class="J_live">
<input type="checkbox" />
<span class="txt">hello world</span>
</dd>
-----------------------js--------------------
$('J_live').live('mouseover', function(){//});
$('J_live').live('mouseout', function(){//});
----------------------问题------------------
只给 dd.J_live 绑定了事件,但是鼠标进入checkbox span也会触发。。
有没有办法去掉dd内的子元素事件。
thank.
那个啥,好像都不行的哇。
展开
 我来答
niuniu8912
2012-02-10 · 超过29用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:76万
展开全部
$(".J_live").live("mouseover",function(event){
if(event.target == this){
//把事件写到这里就可以避免子元素继承。
}
});
还有:你的选择器没打点儿
我就康康233
2012-02-06 · 超过60用户采纳过TA的回答
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:148万
展开全部
因为 J_live 包括了 checkbox 和 span,
应该分别绑定,$('J_live checkbox').live()和$('J_live span').live()
这样试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wendong56
2012-10-29
知道答主
回答量:16
采纳率:0%
帮助的人:5.7万
展开全部
你这个问题我碰到过,最简单的写法是这样
$('J_live').live({
mouseenter:function(){},
mouseleave:function(){}
});
用mouseenter和mouseleave来取代你的mouseover和mouseout事件。
之所以出现这个问题是因为事件的冒泡行为,至于为什么用live事件绑定就不会出现这个问题,我也在研究中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小羊装狼
2012-02-03 · TA获得超过241个赞
知道小有建树答主
回答量:760
采纳率:0%
帮助的人:420万
展开全部
用ID绑定
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-03
展开全部
用选择器,先选input标签然后点的父标签,再binding
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式