Javascript .onmouseout似乎在不应该的时候开火';T

Javascript .onmouseout似乎在不应该的时候开火';T,javascript,html,onmouseout,Javascript,Html,Onmouseout,以下是它不起作用的部分: function showDetailedView(element) { var img = document.getElementById(element); img.className = "imgPopout"; img.innerHTML = "<br /><TABLE><TR><TH rowspan='3'><img src='aprilla/" + element + ".jpg' widt

以下是它不起作用的部分:

function showDetailedView(element) {

  var img = document.getElementById(element);
  img.className = "imgPopout";
  img.innerHTML = "<br /><TABLE><TR><TH rowspan='3'><img src='aprilla/" + element + ".jpg' width='250'><TH align='left'>Artist's Name: <TH align='left'>Aprill Aronie<TR><TH align='left'>File Name: <TH align='left'>pic3.jpg<TR></TABLE>"
  var popOut = document.getElementById(element);
  popOut.onmouseout = hideDetailedView(element);
}

function hideDetailedView(element){

   var img = document.getElementById(element);
   img.className = "imgPopin";
   img.innerHTML = "";
}
函数showDetailedView(元素){
var img=document.getElementById(元素);
img.className=“imgPopout”;
img.innerHTML=“
艺术家姓名:Aprill AronieFile Name:pic3.jpg” var popOut=document.getElementById(元素); popOut.onmouseout=隐藏的详细视图(元素); } 函数隐藏详细视图(元素){ var img=document.getElementById(元素); img.className=“imgPopin”; img.innerHTML=“”; }
发生的是popOut.onmouseout总是激发hiddetailedview(),即使我的鼠标位于id“element”表示的div上。我不知道为什么会发生这种情况。请不要用jquery,这是学校的事,我搞不懂

如果您需要,以下是完整的代码:

function initPopout(element) {

  var thumb = document.getElementById(element); 
  thumb.onmouseover = showDetailedView(element);
}

function showDetailedView(element) {

  var img = document.getElementById(element);
  img.className = "imgPopout";
  img.innerHTML = "<br /><TABLE><TR><TH rowspan='3'><img src='aprilla/" + element + ".jpg' width='250'><TH align='left'>Artist's Name: <TH align='left'>Aprill Aronie<TR><TH align='left'>File Name: <TH align='left'>pic3.jpg<TR></TABLE> "
  var popOut = document.getElementById(element);
  popOut.onmouseout = hideDetailedView(element);
}

function hideDetailedView(element){

   var img = document.getElementById(element);
   img.className = "imgPopin";
   img.innerHTML = "";

 }
函数initpoput(元素){
var thumb=document.getElementById(元素);
thumb.onmouseover=showDetailedView(元素);
}
函数showDetailedView(元素){
var img=document.getElementById(元素);
img.className=“imgPopout”;
img.innerHTML=“
艺术家姓名:Aprill AronieFile Name:pic3.jpg” var popOut=document.getElementById(元素); popOut.onmouseout=隐藏的详细视图(元素); } 函数隐藏详细视图(元素){ var img=document.getElementById(元素); img.className=“imgPopin”; img.innerHTML=“”; }
它是由如下情况触发的:

<img src="aprilla/pic1thumb.jpg" onClick="initPopout(1);"><div class="imgPopin" id="1"></div>

共有15张左右的图片,每个图片的id为1-15,并且每个图片都调用各自的initPopOut(IDnumber)

函数hideDetailedView返回未定义。如果要使用值启动函数,可以使用闭包执行此操作:

function hideDetailedView(element){
    return function() {
        var img = document.getElementById(element);
        img.className = "imgPopin";
        img.innerHTML = "";
    }
}
现在返回值是一个函数


showDetailedView函数也是如此。

请注意,当鼠标从元素内的一个元素移动到另一个元素时,
mouseout
也会触发。
function hideDetailedView(element){
    return function() {
        var img = document.getElementById(element);
        img.className = "imgPopin";
        img.innerHTML = "";
    }
}