2013-08-01 41 views
0

第一,這是我得到了什麼:即使事件觸發jQuery簡單的工具提示不顯示?

 $('div.pickup').load('/pages/pickup.php?pickup=' + pickup, function() { 

      $('div.pickup').fadeIn(300); 

      var box = $('#tooltip'); 
      var trigger = $('.tip'); 

      trigger.hover(function(e) { 
       alert('Showing tooltip with text: ' + $(this).attr('title')); 
       box.text($(this).attr('title')); 
       box.css({ 
        'top': (e.pageY - 10) + 'px', 
        'left': (e.pageX + 20) + 'px' 
       }).fadeIn(300); 
      }, function() { 
       box.hide(); 
      }); 

      trigger.mousemove(function(e) { 
       box.css({ 
        'top': (e.pageY - 10) + 'px', 
        'left': (e.pageX + 20) + 'px' 
       }); 
      }); 

     }); 

表頭包含「觸發類」命名爲.tip。每個具有該類的元素都應該在懸停時啓動工具提示。該包含.tip -class看起來是這樣的:

<th class="type red b_l b_b tip" title="test">T</th>

我預計提示徘徊含class="tip"<th>元素時出現在鼠標光標附近時,懸停事件發射但我從警報()調用對話框。

#tooltip div元素只是中的一行PHP -file; <div id="tooltip"></div>

CSS:

#tooltip { 
    display: none; 
    position: absolute; 
    z-index: 1; 
    background-color: #ffffff; 
    border: 1px solid #000000; 
    padding: 3px; 
    font-family: Consolas, monaco, monospace; 
    font-size: 0.8em; 
    letter-spacing: 0.1em; 
    box-shadow: 0px 3px 4px #000000; 
} 

我敢肯定的提示AINT背後隱藏着另一個元素(即包含表。),#tooltip是一個z-index手動設置的唯一元素。我甚至試過z-index: 999

我在做什麼錯?

  • 在最新的IE和FF版本測試
+0

您的'#tooltip'元素位於HTML中的哪個位置?雖然它看起來像是正確設置了頂部和左側,但如果它不是'body'的孩子,它可能不會被正確定位爲'絕對' – Ian

+0

它位於PHP文件的'元素;我把它放在結束''標籤上方的最下方。 – phew

+1

好吧,否則它需要擁有所有的靜態祖先。但你不必擔心這一點。無論如何,它適用於我:http://jsfiddle.net/AEmk9/(我改變了一些東西) – Ian

回答

0

對不起,我已經把一個答案,因爲我不能發表評論,你可以找到在FF的開發者工具的工具提示? 應該強調你的工具尖端的位置,你應該能夠檢查&集是通過JS控制檯知名度

+0

我從來沒有使用過這些工具,但他們看起來很有前途,謝謝你的提示。 – phew

+0

Eh沒問題,它們非常有用,它們允許測試活着的東西,比如改變CSS,JS甚至是HTML,對於像我這樣使用ASP .NET的人來說,這真的很有幫助 –

+0

@phew btw,你介意把我的回答?我需要代表能夠發表評論,對不起,乞求它,但沒有它,我不能添加評論像那些瑣碎的事情 –

0

好吧,我只是去掉了alert()呼叫,卻突然它的工作原理的。我不確定alert()如何影響後面的代碼,但似乎在某些時候會中斷它。

反正,除去這是用於調試目的的alert()固定的問題和tooptip示出了在兩個細,FFIE

雖然,感謝您的建議!