If you don't need to support IE6 , use CSS :hover:
button,
input[type=button],
input[type=reset],
input[type=submit] {
// all properties of `ui-state-default` here
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
// all properties of `ui-state-hover` here
}
:
( , W3C)
function getHandler(cls) {
var types = {'submit': true, 'reset': true, 'button': true};
return function(event) {
event = event || window.event;
target = event.target || event.srcElement;
if(target.nodeName === "BUTTON"
|| (target.nodeName === "INPUT" && target.type in types)) {
event.target.className = cls;
}
}
}
if(window.attachEvent) {
window.attachEvent('onmouseover', getHandler('ui-state-hover'));
window.attachEvent('onmouseout', getHandler('ui-state-default'));
}
else {
window.addEventListener('mouseover', getHandler('ui-state-hover'), false);
window.addEventListener('mouseout', getHandler('ui-state-default'), false);
}
:
. - qurirksmode.org - quirksmode.org