2010-04-19 53 views
2

如果您在Microsoft想象畫,你可以點擊並按住在一個地區作畫,ID喜歡做一個類似的,但在一個表中增加一類細胞:mousedown和mouseup之間的jquery懸停事件 - 可能嗎?

(注意這個心不是繪畫/藝術只是一個簡單的解釋它的方式!)

下心不是工作...

$(function(){ 
    $('td').mousedown(function(){ 
    console.log('down'); 
     $('td').bind('hover', function(){ 
     $(this).addClass('booked'); 
     }); 
    }) 

    $('td').mouseup(function(){ 
     $('td').unbind('hover'); 
    }); 
}) 
+0

這可能幫助:HTTP://stackoverflow.com/questions/1569775/how-do-i-find-the-dom-node-that-is-at-a-given-xy-position-hit-test – elias 2010-04-19 13:34:11

回答

1

有沒有 「懸停」 事件。爲什麼不在「mousedown」處理程序中添加該類,並在「mouseup」中刪除它?

如果您希望僅在延遲後添加類,請在「mousedown」中設置超時以添加類,並在「mouseup」中取消超時(並刪除類)。

​​
+1

您好,感謝pointy,我正在嘗試做一個drag-n-paint效果,現在使用mousenter()而不是hover()對它進行了排序 – Haroldo 2010-04-19 13:32:42

+0

但是有一個'hover()'jQuery函數。 ;)http://api.jquery.com/hover/我想他希望用戶點擊並按住表格單元格,然後將鼠標拖到需要高亮的任何單元格上。在mouseup上,這種行爲應該停止。 – Tomalak 2010-04-19 13:33:13

+0

有一個「懸停」功能,但它是mouseenter和mouseleave的便捷包裝。 @Tomalak如果這就是他想要的東西,那很難解釋。 – Pointy 2010-04-19 13:34:30

0

看看jQuery UI Selectable,它與你所描述的相似。看看demo。 簡單實現的例子:

<script type="text/javascript"> 
$(function() { 
    $("#selectable").selectable(); 
}); 
</script> 

<ol id="selectable"> 
    <li class="ui-widget-content">Item 1</li> 
    <li class="ui-widget-content">Item 2</li> 
    <li class="ui-widget-content">Item 3</li> 
    <li class="ui-widget-content">Item 4</li> 
    <li class="ui-widget-content">Item 5</li> 
    <li class="ui-widget-content">Item 6</li> 
    <li class="ui-widget-content">Item 7</li> 
</ol> 
0

解決:

mouseenter(),而不是hover()其作爲尖尖指出的是沒有明確的功能

相關問題