$("#cdu li").mouseover(togglemenu);
function togglemenu(){
$("#cdu").css("borderRadius","5px 0 0 5px");
$("#tc").css("display","block").animate({width:"546px"},200);
var index=$("#cdu li").index(this);
index=parseInt(index)+1;
$("div.l"+index).css("display","block").siblings().css("display","none");
** document.getElementById("cdu").onmouseout=function(){
$("#tc").css("display","none");
console.log("zz");
};
document.getElementById('cdu').onmouseover=function(){
$("#tc").css("display","block");
console.log("koko");**
}
}
本来id为"cdu"的元素在li元素发生mouseover后才会有事件,但是在代码执行一次之后,不用mouseover,cdu能执行事件,这是怎么回事?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
你说的是这个document.getElementById('cdu').onmouseover
怎么会触发是吧?over时候绑定的就马上触发了
因为事件会冒泡,冒泡是另外的事件处理的,有时间差,你阻止冒泡就不会马上执行了
function togglemenu(e) {
e.stopPropagation();
document.getElementById("cdu").onmouseout = function () {
// $("#tc").css("display", "none");
console.log("out");
};
document.getElementById('cdu').onmouseover = function () {
// $("#tc").css("display", "block");
console.log("over");
}
}