如何通过javascript仅在IE 6的一个特定DIV上启用悬停。我只想在一个div上运行,但我发现网上有一些脚本可以实现这一点,但是它们应用于整个网站我认为渲染时间会增加,所以我想只在一个特定的div上进行悬停。
IE7。 js可以做到这一点,但有一些不需要的东西,我不想要所以我需要简单的短的JavaScript代码,以启用在IE 6中悬停
答案 0 :(得分:1)
var elem = document.getElementById('divid');
elem.onmouseover = function(e) {
if( !e ) {
//if the browser did not pass the event information to the
//function, we will have to obtain it from the event register
if( window.event ) {
//Internet Explorer
e = window.event;
} else {
//total failure, we have no way of referencing the event
return;
}
}
// do operation using e
};
elem.onmouseout = function(e) {
// get e using code from above
};
这将允许您输入特定元素的代码,只需更改css或执行您想要的任何其他内容。
要了解哪些事件适用于哪个浏览器,您可以使用此功能: http://www.quirksmode.org/dom/events/index.html
答案 1 :(得分:1)
一个简单的onmouseover / onmouseout有一个缺点,当div有子节点并且你将这个孩子悬停时它也会被触发。因此,当您将鼠标悬停时,您将触发mouseout。每个框架都有类似mousenter / mouseleave的东西来处理这个问题。所以在JQuery中应该看起来像这样:
$('#myElement').mouseenter(toggleClass(true)).mouseleave(toggleClass());
function toggleClass(enter){
if(enter){
/*do something on mouseenter*/
}else {
/*do something on mouseleave*/
}
/ 或更短的版本 / $('#myElement')(输入?'添加':'删除')+'类'; }