变量和jquery:如何捕获值并使用它们(第2部分)

这是我的问题:

我从ul-li列表中捕获了一个变量

我有一个名单很多的名单: 罗马,米兰,威尼斯…我用鼠标hover事件捕捉这些(罗马的pulsante1,米兰的pulsante2,威尼斯的pulsante3,……)的id值(寻找这个)问题变量和jquery:如果你想了解更多, 如何捕获值(第1部分 )。

所以,我现在有一个名为$ regionMap的全局变量,每次ul-li列表都有mouseover事件时,它的内容会发生变化。 所以,现在我可以在其他jquery脚本中使用$ regionMap值而不是不同的id值( pulsante1,pulsante2,pulsante3 …… )。

例如,我有这个循环:

$('#pulsante1').mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=document.getElementById('pulsante1').innerHTML; // take the name (here Roma) var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); // here is similar at the first but instead #pulsante1(Roma) you have #pulsante2 (Milano) $('#pulsante2').mousedown(function() { var $variab=document.getElementById('pulsante2').innerHTML; var $alfa="#"+ $variab; alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog }); });//close click 

现在,我想使用$ regionMap而不是pulsante1,pulsante2 ……但对我来说是不可能的! 我试试$($regionMap).mousedown(function()和其他方式( $($regionMap)., ($regionMap)., $('$regionMap'). 。….),

但我一直没有结果! 我能怎么做? 你知道如何传递变量吗?

我认为可能有更好的方法来获得类似的结果(例如在*中使用循环*)但我不知道如何…

对不起我的长篇文章并抱歉基础英语,但我不是开发人员而且我已经进入了一个大倾向!

谢谢

看完你的其他问题后,试一试。

 $('#country_list').mousedown( function( e ) { // e.target is the element you clicked var $variab = e.target.innerHTML; var $alfa= '#' + $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); }); 

您的#country_list元素将侦听任何mousedown事件。 当一个发生时,您可以找到使用e.target生成事件的元素。

你可以试试像……

 $( $regionMap ).each( function (i,el) { $( el ).mousedown(function() // when click over pulsante1 (id value for "Roma") { var $variab=el.innerHTML; // take the name var $alfa="#"+ $variab; // Roma is now #Roma alert("You entered: " + $alfa); //control dialog($alfa); // calling the function dialog rolling on #Roma value. }); }); 

这将循环遍历regionMap中的每个id,并将回调函数应用于每个。

jQuery的每个函数都将回调函数应用于集合中的每个项目。 在这种情况下,集合是您的ID列表。 [ ‘#pulsante1’, ‘#pulsante2’]

http://api.jquery.com/jQuery.each/

使用此代码绑定所有事件:

 $($regionMap).children('li').mousedown(function() { alert("You entered: " + this.id); dialog(this.id); }); 

这会将事件绑定到地图中的每个li,并且它们将分别处理事件。