use*_*453 5 html jquery drag-and-drop mousedown
请看一下这个例子.
我有4个div,白色背景.当我点击div时,它的背景变为蓝色.当我再次单击它时,背景切换回白色.
现在我想通过拖动来突出显示多个div:我点击第一个div并按住鼠标按钮.div变蓝了.使用单击的按钮,我可以现在拖动其他div,并且一旦光标在元素上方,它们的颜色就会改变.
我已经尝试过使用JQuery的.mousedown函数,但我没有让它工作.
HTML:
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
Run Code Online (Sandbox Code Playgroud)
CSS
.box{
float: left;
height: 100px;
width: 100px;
border: 1px solid #000;
margin-right: 10px;
}
.highlight{
background: #0000FF;
}
Run Code Online (Sandbox Code Playgroud)
JS
$(document).ready(function(){
$('.box').click(function(){
if($(this).hasClass('highlight')){
$(this).removeClass('highlight');
}
else{
$(this).addClass('highlight');
}
});
});
Run Code Online (Sandbox Code Playgroud)
可以使用mouseenter事件来处理
$(document).ready(function () {
var $box = $('.box').mousedown(function () {
$(this).toggleClass('highlight');
var flag = $(this).hasClass('highlight')
$box.on('mouseenter.highlight', function () {
$(this).toggleClass('highlight', flag);
});
});
$(document).mouseup(function () {
$box.off('mouseenter.highlight')
})
});
Run Code Online (Sandbox Code Playgroud)
演示:小提琴