javascript - 可以选择多个可拖动吗?
问题描述
var drag = document.getElementById("drag");
drag.onclick = function(e){
e.preventDefault();
}
#drag {
width: 50px;
}
<select id="drag" multiple="">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
javascript是否可以停止保持选择效果并使其成为更改列表中元素顺序的拖动?
我试图e.preventDefault()
并绑定一个draggable script
选项,但没有工作
解决方案
我不认为你可以用 select element 做到这一点:
尝试更改您提供的代码制作一个简单的
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
</html>
脚本.js:
$("ul").on('click', 'li', function (e) {
if (e.ctrlKey || e.metaKey) {
$(this).toggleClass("selected");
} else {
$(this).addClass("selected").siblings().removeClass('selected');
}
}).sortable({
connectWith: "ul",
delay: 150,
revert: 0,
});
编辑:
如果您仍然想要选择标签外观,您可以使用dragOptions
$(document).ready(function(){
$("#drag").dragOptions({
onDrag: function(){
console.log('onDrag callback: ', this);
},
onChange: function(){
console.log('onChange callback: ', this);
}
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>drag</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
</head>
<body>
<div class="form-group">
<select id="drag" size="5" class="form-control">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://gitcdn.link/repo/NikitaKA/jquery.dragOptions/master/jquery.dragoptions.min.js" type="text/javascript" language="javascript"></script>
</html>
正如您在拖动选项时看到的那样,会发生错误(可能是问题))
如果有人能告诉我这里出了什么问题,我将不胜感激!
希望对某人有所帮助。
推荐阅读
- group-by - Clickhouse group by 差异较小
- c# - 如何从dotnet核心调用在共享库中抛出java.io.Exception的非托管函数
- sql - sql查询记录选择
- firebase - 您能否在多个应用中使用相同的 Google FCM 发件人 ID 和服务器密钥?
- ios - 自动检测整个 View Controller 中的 UIButton 点击以设计 Analytics SDK - iOS
- java - 在全新的 Eclipse 安装中重新索引本地 Maven 存储库失败并出现 java.nio.channels.OverlappingFileLockException
- linux - 在 Linux 上重新启动后保留 dhcpd.leases 的文件权限
- function - 如何让 SSRS 日期正确默认?
- python - 类实例的类型
- sql - SQL 查询 - 返回基于同一列的双重条件的行