是否可以更改由现有onmouseover或onmouseout事件调用的函数?对于以下示例,是否有办法让ChangeItemAEvent将“ItemA” onmouseover函数从ChangeColor()更改为ChangeColorBack()?目前,我需要声明一个全新的function(),我觉得这并不优雅,因为当我应该能够调用现有函数时,我正在重复代码。

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)};
}

07-24 16:09