当代码如下的时候
$(document).ready(function(){ $("#menu_square").bind({
mouseover:function(){$("body").css("background-color","red");},
mouseout:function(){$("body").css("background-color","#FFFFFF");}
});
});
提示消息: 'guid' 为空或不是对象
而当代码如下的时候
$(document).ready(function(){ $("button").bind({
mouseover:function(){$("body").css("background-color","red");},
mouseout:function(){$("body").css("background-color","#FFFFFF");}
});
});
不提示错误
请问问题出现在哪里?
因为任何一个页面元素都可以用menu_square的ID,如Button,Div,Span,A等,有的元素支持
mouseover和mouseout事件,而有的不支持。而后者jQuery可以判断是一个按钮,而根据W3C规范,Button是有mouseover和mouseout事件的。
那么,像金山首页里面的javascript代码中有如下的代码
$("#navi_menu1").bind({
mouseenter: function(){
$("#navi_submenu1").stop(true,true);
$("#navi_submenu2").stop(true,true);
$("#navi_submenu3").stop(true,true);
$("#navi_submenu4").stop(true,true);
$("#navi").find(".navi_submenu").hide();
$("#navi_submenu1").height(510);
$("#navi_submenu1").slideDown();
},
mouseleave: function(){
$("#navi_submenu1").delay(300).slideUp();
}
})
也是没有问题的,这又是怎么一回事
$("#menu_square").bind({
是因为,他确定了他用navi_menu1标记的元素,支持这些事件。
你说这么半天,还不及你把相关的html代码贴一贴来得实在。你这么问问题,看的人该有多累呀?
我已经上传了代码,在
http://download.csdn.net/detail/none2012/4742815
$("#menu_square").mouseover(function(){
$("body").css("background","red");
alert('over');
});
$("#menu_square").mouseout(function(){
$("body").css("background","blue");
alert('out');
});
如果是动态的加载的 那么 你$("#menu_square").bind 用bind是不行的
必须换成live
下面的代码就不支持: <input type="hidden" onmouseover="alert('hidden')"/>
去多看看js基础吧。目标对象是隐藏域,它都不可见了,你鼠标还怎么over和out??
$(function(){
$("#menu_square").css("background-color","red");
var o=$("body div:eq(0)");
var bg=o.css("background-image");//先保存好原来的背景图片,以便在mouseout事件中还原
$("#menu_square").bind({
mouseover:function(){o.css("background","red");},
mouseout:function(){o.css("background",bg);}
});
});
楼主的这个bind,怎么看都像是随手从api文档里copy出来的测试代码,并非实际要实现的功能,呵呵
再来说说你吧
从你1楼的回贴就已经是问题了,不是“元素不支持”,是“状态不可见的元素不支持”你还懂呀?14楼的朋友问你话的意思你还知道呀?以事件效果来说,你15楼举的例子是正确的,但以元素来说,它是一个input,你还明白?只是因为type='hidden'变成了一个隐藏域,元素状态为不可见,才使得可视化时事件找不着目标,才失效的。我在16楼回的话并不是特指你15楼的代码本身,是对像整个回复的说明,你还明白??你若对Lz说:元素不可见时,onmouseover事件无效,我话都不会有半句你可看过Lz上传的代码呀?人家操作的是一个可见的li,你看都没看,还一直不管不顾的说自己的话,这就是你的态度?我昨天就看过了Lz上传的代码了。要不是忙得没时间,我早回了。还好意思说我是瞎子?前面的回贴就不说什么了,Lz上传了代码,你要是有态度,你去下载了看过,你就应该知道根本不是你以为的那些问题,你15楼的例子还用得说出么?到底是你瞎呀还是我瞎呀?别把老实人当没脾气的。
呵呵,看Lz一开始描述问题说。$("button")就没问题的那段就能发现是API中的实例了,连颜色代码都没改的
hover很寂寞吗