Javascript 数组中包含文本的DHTMLTOLTIP

Javascript 数组中包含文本的DHTMLTOLTIP,javascript,Javascript,我正在尝试使用DHTMLTOLTIP和一个数组中的提示文本 HTML: <div id="div0">This div is tooltipped using the script<br /> wished tooltip = Paris.<br /> </div> <br /> <div id="div1"> This div is tooltipped using the script<br /> wishe

我正在尝试使用DHTMLTOLTIP和一个数组中的提示文本

HTML:

<div id="div0">This div is tooltipped using the script<br />
wished tooltip = Paris.<br />
</div>
<br />
<div id="div1">
This div is tooltipped using the script<br />
wished tooltip = London.
</div>

<div id="dhtmltooltip"></div>
此div是使用脚本工具设置的
希望的工具提示=巴黎。

此div是使用脚本工具提示的
希望的工具提示=伦敦。
脚本:

I = new Array();
I[0] = "Paris";
I[1] = "London";

for (var num=0; num<I.length; num++) 
{
mytext = I[num];
div = document.getElementById('div'+num);
div.setAttribute("onmouseover", "ddrivetip(mytext)");//FF and IE>8
div.setAttribute("onmouseout", "hideddrivetip()");//FF and IE>8
}  
I=newarray();
I[0]=“巴黎”;
I[1]=“伦敦”;
对于(变量num=0;num8
div.setAttribute(“onmouseout”,“hiddedDriveIP()”);//FF和IE>8
}  
我使用找到的DHTMLTOLTIP脚本

问题是第二个提示(伦敦)用于两个提示

这一定是个小错误,但我找不到

您可以看到一个测试文件

有人能帮我吗


谢谢

首先,所有这些变量都是全局变量,这本身可能会给您带来问题

但你的实际问题是:

div.setAttribute("onmouseover", "ddrivetip(mytext)");
换成这个

div.setAttribute("onmouseover", "ddrivetip('" + mytext + "')");

问题有两个方面。首先,
mytext
是一个全局变量,当您可能希望它是本地变量时。这现在不会造成问题,但标记我的话,这样它会咬到您。另一个问题是您没有正确附加事件。更改此项:

div.setAttribute("onmouseover", "ddrivetip(mytext)");
为此:

div.onmouseover = 'ddrivetip("' + mytext + '")';

或者更好的方法是,使用闭包和
addEventListener

在循环结束时,
mytext
的值设置为
London
。在鼠标上方,这两种方法都相当于
ddrivetip(“London”)
该脚本是大型脚本的一小部分,其中数组必须是全局的。不幸的是,您的解决方案涉及到工具提示的差异。我对EventHandler不太放心。我如何使用“Closes and addEventListener”?(我避免说谢谢,因为stackoverflow告诉我要避免,但我想得很清楚)对不起,关于变量。你是对的:数组必须是全局的,但mytext必须是局部的。Woops我想把它放在引号里。再次检查答案,修复了