jQuery参数解析的一个问题

问题描述:

我对jQuery非常陌生,并且遇到了将字符串值解析为函数的问题。jQuery参数解析的一个问题

我:

function callAreaData(area) { 
     $("area[alt='" + area + "']").hover(function (e) { 
      $("div#bodyPlace_popupA").show(); 
      $("area[alt='" + area + "']").hide(); 
     }, function() { 
      $("div#bodyPlace_popupA").hide(); 
     }); 

     $("area[alt='" + area + "']").mousemove(function (e) { 
      $("div#bodyPlace_popupA").css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft); 
     }); 
    } 

并在我的

 $(document).ready(function() { 
      ... 
      var a = "Area A"; 
      callAreaData(a); 
      ... 
    }); 

它不工作,调用它。我知道函数本身的工作原理,因为如果我使用它们的字符串替换函数中的解析值,如下所示,它工作正常。但是这并不能给我所需的重用性(因为我需要在我的网页上使用这个函数10次左右的不同参数)。

 function callAreaData() { 
     $("area[alt='Area A']").hover(function() { 
      $("div#bodyPlace_popupA").show(); 
      $("area[alt='Area A']").hide(); 
     }, function() { 
      $("div#bodyPlace_popupA").hide(); 
     }); 

     $("area[alt='Area A']").mousemove(function (e) { 
      $("div#bodyPlace_popupA").css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft); 
     }); 
    } 

这是一个简单的修复,但我不能看到它,请帮助吗?

在此先感谢,彼得

+0

您可以创建一个jsfiddle.net的jsfiddle? – matt 2011-12-20 00:40:51

+0

@Peter请接受答案,如果它有帮助。谢谢(检查绿色'V'标记) – 2011-12-20 01:09:52

尝试类似:

 
$(document).ready(function() { 
var area = someArea; // get area from some hidden element 
$("area[alt='" + area + "']").hover(function (e) { 
      $("div#bodyPlace_popupA").show(); 
      $("area[alt='" + area + "']").hide(); 
     }, function() { 
      $("div#bodyPlace_popupA").hide(); 
     }); 

     $("area[alt='" + area + "']").mousemove(function (e) { 
      $("div#bodyPlace_popupA").css('top', e.pageY + moveDown).css('left', e.pageX + moveLeft); 
     }); 


}); 
+0

这似乎是做伎俩,辉煌的感谢 – 2011-12-20 01:01:58