gpt4 book ai didi

javascript - 单击另一个元素时取消选择元素

转载 作者:行者123 更新时间:2023-11-28 16:58:55 27 4
gpt4 key购买 nike

我有一个简单的界面,允许用户动态添加元素并拖动它们。但我需要添加一个功能,向用户显示所选元素。当用户单击另一个元素时,必须取消选择所有其他元素...

我创建了一个简单的函数,它为用户选择的元素带来了一个特殊的 CSS 类,但我不明白,当用户选择另一个元素时,如何从所有其他动态添加的元素中删除该类。

我在jQuery中找到了一些解决方案,但我需要用纯JS编写。

我该怎么做?一定是某种循环函数吧?

我的模板:

    <head>
<title>Int Demo</title>
<script src='js/jquery.js'></script>
<script src='js/jquery-ui.min.js'></script>
<script src='js/script.js'></script>
<style type="text/css">
.button {width: 100px; height: 20px; background: #A3A1A1; text-align: center; font-size: 12px; color: #ffffff; padding-top: 6px; cursor: pointer;}
.wrapper {width: 800px; height: 300px; background: #D4D1D1; position: relative;}
.textblock {cursor: pointer; position: absolute; left: 5%; top: 5%;}
.selected {border: 1px solid red;}
</style>
</head>

<body>
<div class="button" id="button">Add Textbox</div>
<div class="wrapper" id="wrapper"></div>
</body>

</html>

我的JS:

document.addEventListener("DOMContentLoaded", function() { init(); }, false);

function init() {

button = document.getElementById('button');
wrapper = document.getElementById('wrapper');

button.addEventListener('click', btnClick, false);
document.addEventListener('mousedown', selector, false);

function selector(e) {
var select = e.target;
if (select.classList.contains('draggable')) {
select.classList.add('selected');
};
console.log(select);
};


function btnClick() {
wrapper.innerHTML += '<p class="draggable textblock">Text Here!</p>';
};

}

最佳答案

找到元素[s]并删除它们

如果只有一个,那么在添加另一个之前删除该类。

document.querySelector(".selected").classList.remove('selected');

关于javascript - 单击另一个元素时取消选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com