2010-04-19 58 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()其作为尖尖指出的是没有明确的功能

相关问题