如果你想象在微软绘画中你可以点击并按住在一个区域中绘画,我喜欢做类似但是在表格中为单元格添加一个类:
(注意这不是绘画/艺术只是解释它的简单方法!)
以下不起作用......
$(function(){
$('td').mousedown(function(){
console.log('down');
$('td').bind('hover', function(){
$(this).addClass('booked');
});
})
$('td').mouseup(function(){
$('td').unbind('hover');
});
})
答案 0 :(得分:1)
没有“悬停”事件。为什么不在“mousedown”处理程序中添加类并在“mouseup”中删除它?
如果您希望仅在延迟后添加该类,则在“mousedown”中设置超时以添加该类,并在“mouseup”中取消超时(并删除该类)。
$(function(){
var timeout;
$('td')
.mousedown(function(){
var $cell = $(this);
timeout = setTimeout(function() {
$cell.addClass('booked');
}, 1000);
})
.mouseup(function(){
cancelTimeout(timeout);
$(this).removeClass('booked');
});
});
答案 1 :(得分: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>
答案 2 :(得分:0)
解决:
mouseenter()
而非hover()
正如Pointy指出的那样,并非明确的功能