Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用onmouseover、onmouseleave的更好方法_Javascript_Onmouseover - Fatal编程技术网

Javascript 使用onmouseover、onmouseleave的更好方法

Javascript 使用onmouseover、onmouseleave的更好方法,javascript,onmouseover,Javascript,Onmouseover,如何在这个JSFIDLE文件中更好地使用onmouseover、onmouseleave和onmousemove 你可以看到我有: document.getElementById("button1").onmouseover = function(){ showToolTip(/*...*/); } document.getElementById("button1").onmouseleave = function(){ hideTooltip(/*...*/); } docum

如何在这个JSFIDLE文件中更好地使用onmouseover、onmouseleave和onmousemove

你可以看到我有:

document.getElementById("button1").onmouseover = function(){
    showToolTip(/*...*/);
}
document.getElementById("button1").onmouseleave = function(){
    hideTooltip(/*...*/);
}
document.getElementById("button1").onmousemove = function(){
    showTooltip(/*...*/);
}
document.getElementById("button2").onmouseover = function(){
    showTooltip(/*...*/);
}
//And so on

有一种更好的方法可以做到这一点,而不是将它们依次堆叠,创建一个长javascript?

使用数组和for循环

var ids = ['time', 'start', 'pause'];
for (var i = 0; i < ids.length; i++) {
    document.getElementById(ids[i]).onmouseover = function(e) {
        showTooltip(Strings.timeTooltip, e);
    };

    document.getElementById(ids[i]).onmouseleave = function(e) {
        hideTooltip();
    };

    document.getElementById(ids[i]).onmousemove = function(e) {
        showTooltip(Strings.timeTooltip, e);
    };
}
varids=['time','start','pause'];
对于(变量i=0;i

尝试使用类而不是id。@nemanjapovic是的,但我需要为每个元素指定一个字符串。您可以使用事件委派。是的,但我需要为每个id传递一个字符串:而不是work@Insane96MCP,请看,它现在起作用了,因为它在循环中,所以需要将它包装在生命中。如果你需要更多,请告诉我help@Insane96MCP,这解决了你的问题吗?如果你需要更多帮助,请告诉我我现在是手机公司的,我在家的时候会试试