如何在鼠标位置插入div?如何在鼠标位置插入div?
你怎么能确定在一个div应插入内下图中红色圈是一个点击,引导列之间?
你可以得到的父元素很容易,通过https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint
但我怎么能知道哪些div之间出现,特别是当这些列可以浮动或推/拉?
如何在鼠标位置插入div?如何在鼠标位置插入div?
你怎么能确定在一个div应插入内下图中红色圈是一个点击,引导列之间?
你可以得到的父元素很容易,通过https://developer.mozilla.org/en-US/docs/Web/API/Document/elementFromPoint
但我怎么能知道哪些div之间出现,特别是当这些列可以浮动或推/拉?
你可以替代强制用户点击最末端的元素,然后在它之前插入元素?如果这是一个选项,那么你可以做它像这样:
function printMousePos(event) {
var s = document.createElement('span');
s.innerHTML = '|newDiv|';
s.className = 'asterisk';
elem = document.elementFromPoint(event.clientX, event.clientY);
//elem.innerHTML ="clientX: " + event.clientX + " - clientY: " + event.clientY;
elem.parentNode.insertBefore(s, elem);
}
document.addEventListener("click", printMousePos);
.row { background:#ddd; margin:5px; padding:5px; }
.row > div { display:inline-block; }
.new { background:yellow; }
<div class="row">
<div class="somediv">|div|</div>
<div class="somediv2">|div|</div>
<div class="elem">|div|</div>
<div class="elem">|div|</div>
<div class="somediv3">|div|</div>
<div class="somediv4">|div|</div>
</div>
<div class="row">
<div class="somediv">|div|</div>
<div class="somediv2">|div|</div>
<div class="elem">|div|</div>
<div class="elem">|div|</div>
<div class="somediv3">|div|</div>
<div class="somediv4">|div|</div>
</div>
<div class="row">
<div class="somediv">|div|</div>
<div class="somediv2">|div|</div>
<div class="elem">|div|</div>
<div class="elem">|div|</div>
<div class="somediv3">|div|</div>
<div class="somediv4">|div|</div>
</div>
点击一个div,以及一个新的div将收到被创建。
希望它可以帮助一些方向,
这可能是我能够得到的最接近的,而不需要自己解析和检查边界框。 问题是我需要制定一个好的用户体验的方式分裂插入之前,并插入里面。 –
@RyanTheLeach也许有人会发布一个更准确的答案,现在你可以去每个div上的两个适当大小的可点击框,onclick它会插入内部或之前相应。现在想不到更友好的用户界面。祝你好运:) –
我可能只需要在上下文菜单上有多个选项。 –
我认为你可以使用'getBoundingClientRect()'来获取每'div'元素的位置和坐标,然后从'window'对象检索客户端的坐标。 –