0

我仍然在學習jQuery,並且與eruciform's jquery-collision plugindocumentation)的時間最爲接近。使用jQuery碰撞的錯誤

我所需要的只是獲取div的名稱,我的draggables在mouseup上重疊,但是它似乎只是想將函數本身的代碼作爲文本返回。

這是jsFiddle。我究竟做錯了什麼?

標記:

<div id="mainDiv" class="mainDiv"> 
    <div class="topNav" id="topNav"> 
     <div class="dragElements"> 
      <div class="draggable" id="drag01">One</div> 
      <div class="draggable" id="drag02">Two</div> 
      <div class="draggable" id="drag03">Three</div> 
      <div class="draggable" id="drag04">Four</div> 
     </div> 
     <div class="dropElements"> 
      <div class="venn" id="venn1"> 
       <p/>&nbsp;<p/>Blue: 
      </div> 
      <div class="venn" id="venn2"> 
      <p/>&nbsp;<p/>Orange: 
      </div> 
     </div> 
    </div> 
</div> 

樣式:

.dragElements{ 
    width: 100%; 
    height: 170px; 
} 
.dropElements{ 
    width: 100%; 
    height: 275px; 
} 
#venn1{ 
    width:275px; 
    height:275px; 
    background-color:#0066FF; 
    position:absolute; 
    float:left; 
    left: 0px; 
    text-align: center; 
} 
#venn2{ 
    width:275px; 
    height:275px; 
    background-color:#FC0; 
    position:absolute; 
    float:right; 
    right: 0px; 
    text-align: center; 
} 
.draggable{ 
    text-align: center; 
    width: 100px; 
    padding: 10px; 
    background-color:#66CCFF; 
    cursor:pointer; 
    z-index:100;  
} 

腳本:

$(document).ready(function() { 
    $("div.draggable").draggable(); 
    $("div.draggable").mousedown(function() { 
     dragID = this.id 
    }); 
    $("div.draggable").mouseup(function() { 
     var colliders_selector = ".draggable"; 
     var obstacles_selector = ".venn"; 
     var hits = $(colliders_selector).collision(obstacles_selector, { 
      mode: "collision" 
     }); 
     alert(hits.text); 
    }); 
}); 

回答

1

因爲你不調用福nction。

變化alert(hits.text);alert(hits.text());

+0

我只知道這會是簡單的東西這樣。謝謝AlienWebguy! 那麼我可以通過hits.attr(「id」)獲得重疊div的id? 太棒了!非常感謝! – gyzhor

+0

很高興幫助:) – AlienWebguy