如何知道Javascript中哪个元素称为函数?

时间:2010-12-18 01:18:21

标签: javascript function element onmouseover onmouseout

我正在使用大量图像链接进行此页面,当鼠标悬停在它们上方时会发生变化。我有一个改变图像的功能:

    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事件的函数参数。有没有办法只知道什么元素称为函数?功能复制不是一种选择,因为正如我所说,每页可能会有数百个这样的小图像,并且最终会从数据库数据中生成页面。每次添加“this”似乎都是多余的......

2 个答案:

答案 0 :(得分:2)

两个选项(以onclick为例):

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

或来自代码:x.onclick = hoverImgthis现在在回调中设置好了,因为它后来被“调用”x中的对象。)

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

答案 1 :(得分:2)

在您的函数中尝试window.event.srcElement。这假定它是直接从事件处理程序调用的。

相关问题