2

我正在做这个页面,其中有很多图像链接,当鼠标悬停在它们上方时,它们会发生变化。我有一个在这里更改图像的功能:

    function hoverImg(element) {
        if (element.src.indexOf("_hover.png") == -1) {
            element.src = element.src.replace(".png","_hover.png");
        } else {
            element.src = element.src.replace("_hover.png",".png");
        }
    }

但是,我必须将“this”作为每个元素的每个 onmouseover 和 onmouseout 事件的函数的参数。有没有办法只知道什么元素称为函数?函数复制不是一种选择,因为正如我所说,每页可能会有数百个这样的小图像,并且这些页面最终还是会从数据库数据中生成。每次添加“这个”似乎非常多余......

4

2 回答 2

2

两个选项(以 onclick 为例):

来自 html:onclick="javascript:hoverImg(this)"

或来自代码:(x.onclick = hoverImg现在this在回调中设置好,因为它稍后在 x 中“调用”对象)。

还有一些“行为”JavaScript 库(甚至是jQuery——甚至可能是 jQuery.live)可以帮助你得到你想要的。

于 2010-12-18T01:27:54.437 回答
2

试试window.event.srcElement你的功能。这假定它是直接从事件处理程序调用的。

于 2010-12-18T01:33:38.090 回答