【发布时间】:2019-05-27 06:14:28
【问题描述】:
我有一个属性为 contenteditable = true 的 div。我可以通过双击div来激活div内容编辑,这是因为我的div是可拖动的,所以我使用dooble click事件来激活div编辑。事实是我想通过单击它然后按键盘上的 Delete 键来消除完整的 div。我怎样才能做到这一点?我怎样才能做到当我在div上写东西并按下delete键时,整个div不会被删除?我只想在没有激活div版本的情况下删除div,只需点击div然后按删除键,瞧,它就被删除了。
这是我的 HTML 代码:
$(document).ready(function() {
$('.draggable').draggable({
containment: "parent"
});
$(".draggable").resizable();
$('#MyFirstDiv').click(function() {
//HERE I WANT TO PUT THE CODE TO DELETE THE DIV.
});
$("#myContainer").on("dblclick", "#MyFirstDiv", function(e) {
e.preventDefault();
$(".draggable").draggable('disable');
this.querySelector(":scope > :first-child").focus();
});
$("#myContainer").on("blur", "#MyFirstDiv", function(e) {
e.preventDefault();
$(".draggable").draggable('enable');
});
});
#myContainer {
border: 1px solid black;
height: 400px;
width: 100%;
}
#DraggableDiv {
border: 1px solid blue;
}
<!DOCTYPE html>
<html>
<head>
<title>My Delete Div</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
</head>
<body>
<div id="myContainer">
<div id="MyFirstDiv">
<div class="draggable" contenteditable="true" id="DraggableDiv">
THIS IS MY TEXT INSIDE THE DIV
</div>
</div>
</div>
</body>
</html>
【问题讨论】:
-
要明确:你想要:“点击 div,然后按删除”还是“点击 div 并按删除同时点击 div”?
-
我不想在点击 div 的时候删除,我只想先点击 div 再按键盘上的 delete 键。
标签: javascript jquery html css jquery-ui