使用onclick事件更改onmouseover命令

时间:2011-11-03 15:38:42

标签: javascript

我的页面中有以下行:

 <div id="fmeFriendStatus" style="width:589px;height:700px;overflow:auto" onmouseover="DelayedStatusRefresh()">

我希望能够改变:

onmouseover="DelayedStatusRefesh()"

命令:

onmouseover="DelayedStatusRefeshFriends()"

点击页面上其他位置的按钮...

这可能,你会怎么做?

非常感谢提前

2 个答案:

答案 0 :(得分:2)

快速回答如下:

var button = document.getElementById('someButtonId');

button.addEventListener('click', function() {
  document.getElementById('fmeFriendStatus').onmouseover = DelayedStatusRefeshFriends;
});

但是,出于多种原因,直接访问onclick或其他on*属性以监听事件是不受欢迎的。理想情况下,您可以使用DelayedStatusRefesh(或者使用JavaScript库,如jQuery)将addEventListener()添加为事件侦听器,并在单击按钮时删除该侦听器(removeEventListener())和添加另一个。

答案 1 :(得分:0)

您需要将onclick处理程序添加到第二个按钮,其处理程序需要为mouseover元素重新分配fmeFriendStatus处理程序。

所以它应该是这样的:

document.getElementById("buttonFromSomewhereElse").onclick = function() {
    document.getElementById("fmeFriendStatus").onmouseover = DelayedStatusRefeshFriends;
}