是否可以更改现有onmouSEOver或onmouSEOut事件调用的函数?对于以下示例,我有一种方法让ChangeItemAEvent将“ItemA”onmouSEOver函数从ChangeColor()更改为ChangeColorBack()吗?目前我需要声明一个全新的函数(),我觉得它不优雅,因为我应该能够调用现有函数时重复代码.
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)}; }