我有一个HTML span,它改变了它的类onmouseover和onmouseout:
<span id="someSpan" class="static" onmouseover="this.className='active'" onmouseout="this.className='static'">Some Text</span>
我希望能够使用页面上其他位置调用的Javascript函数启用和禁用(更改)onmouseover和onmouseout事件。这可能吗?
答案 0 :(得分:3)
不确定。
document.getElementById('someSpan').onmouseover =
function() {
this.className='newactive';
};
答案 1 :(得分:1)
安全的方法是使用像Prototype或JQuery这样的Javascript工具包。
他们都可以轻松地完成这样的事情,但它可以跨浏览器工作。
答案 2 :(得分:1)
我同意jQuery会更容易,但是如果你想坚持使用JavaScript,我相信这应该有用:
的document.getElementById( “elementId”)的onmouseout = functionName;
此外,jQuery的大小约为20Kb(生产框架文件的大小),因此可能会减慢页面的加载速度。如果您只是将它用于可能在JavaScript中完成的一些事情,那么需要考虑一些事项。
答案 3 :(得分:1)
是的,你可以简单地通过为span的Element实例分配onmouseover和onmouseout属性来做到这一点,例如:
// Define your handler somewhere
function myNewHandler()
{
// ...new logic...
}
// And where you want to swap it in:
document.getElementById('someSpan').onmouseover = myNewHandler;
......但这是一种相当老套的方式。更现代的方法是使用addEventListener或attachEvent(取决于您是使用标准还是IE)来挂钩事件处理程序。像Prototype,jQuery和其他十几个人的图书馆可以提供帮助。
答案 4 :(得分:0)
代码:
document.getElementById("someSpan").onmouseover = function()
{
//New code
};//Do not forget the semicolon