是否可以更改现有onmouSEOver或onmouSEOut事件调用的函数?对于以下示例,我有一种方法让ChangeItemAEvent将“ItemA”onmouSEOver函数从ChangeColor()更改为ChangeColorBack()吗?目前我需要声明一个全新的函数(),我觉得它不优雅,因为我应该能够调用现有函数时重复代码.
JavaScript的:
function ChangeColor(elementid)
{
document.getElementById(elementid).style.background = "Orange";
document.getElementById(elementid).style.color = "Black";
}
function ChangeColorBack(elementid)
{
document.getElementById(elementid).style.background = "Black";
document.getElementById(elementid).style.color = "White";
}
function ChangeItemAEvent()
{
document.getElementById("ItemA").onmouSEOver = function() {
document.getElementById("ItemA").style.background = "Black";
document.getElementById("ItemA").style.color = "White";
};
}
HTML:
<span id="ItemA" onmouSEOver="ChangeColor(this.id)"> <button id="ButtonB" onclick="ChangeItemAEvent()">
解决方法
试试这个
function ChangeItemAEvent()
{
document.getElementById("ItemA").onmouSEOver = function() {ChangeColorBack(this.id)};
}