2011-05-23 34 views
1

對於Dojo來說基本上很新,我正在嘗試爲每個類添加一個事件,然後在mouseover上我想用類名來揭示closet div(更改顯示爲塊)。但經過無數次嘗試後,我無法這樣做。Dojo連接問題

下面是HTML:

<div class="navElement"> 
        <a href="" class="navSectionTitle">Sound &#38; Vision &#43;</a> 
        <div class="subMenuHolder"> 
         <ul> 
          <li><a href="#">Televisions</a>,</li> 
          <li><a href="#">LCD TVs</a>,</li> 
          <li><a href="#">Plasma TVs</a>,</li> 
          <li><a href="#">3D TVs</a>,</li> 
          <li><a href="#">MP3 Players</a>,</li> 
          <li><a href="#">Hi Fi</a>,</li> 
          <li><a href="#">MP3 Docks</a>,</li> 
          <li><a href="">More</a> &#43;</li> 

         </ul> 
        </div> 
       </div> 

       <div class="navElement"> 
        <a href="" class="navSectionTitle">Computers &#38; Software &#43;</a> 
        <div class="subMenuHolder"> 
         <ul> 
          <li><a href="#">Laptops</a>,</li> 
          <li><a href="#">Desktops Computers</a>,</li> 
          <li><a href="#">Software</a>,</li> 
          <li><a href="#">Printers</a>,</li> 
          <li><a href="#">External Hard Drives</a>,</li> 
          <li><a href="#">Internal Hard drives</a>,</li> 
          <li><a href="">More</a> &#43;</li> 

         </ul> 
        </div> 
       </div> 

我試圖使用Dojo低於:

dojo.require("dojo.NodeList-traverse");  
dojo.query(".navSectionTitle").forEach(function(node, index, nodelist){ 
      dojo.connect(node , "onmouseover", function(evt){ 
       var here = dojo.query(node).closest(".subMenuHolder"); 
       here.style.display = 'block'; 
       console.log(here); 
      }); 
     }); 

不知道這是最好的做法,但希望得到任何幫助,非常感謝。

回答

2

最近將返回查詢中節點的父節點。 那麼下一步如下所示。 請務必將dojo.addOnLoad塊

dojo.query(".navSectionTitle").forEach(function(node, index, nodelist){  
     dojo.connect(node , "onmouseover", function(evt){    
      //this is the menu you want to show  
      console.log(dojo.query(node).next('.subMenuHolder')[0]) 
     }); 
    }); 

希望它可以幫助

+0

你的先生是一個很優秀的男人的幫助表示感謝工作一種享受裏面的所有事件附加代碼,真的應該停止11後工作:30 ;-) – jonnyhitek 2011-05-24 08:14:43

+0

即時在印度其中午這裏 – rajkamal 2011-05-24 08:40:21

+0

哈哈我不應該停止工作過去11:30再次感謝 – jonnyhitek 2011-05-24 12:08:26

1

您連接到類.navSectionTitle,但

dojo.query('.navSectionTitle') = one 'a' element 

您必須連接到

dojo.query('.subMenuHolder a').connect("onmouseover", function(evt){//your code}); 

如果妳想要li元素連接類型.subMenuHolder李 evt.srcElement - 元素什麼叫事件