簡體   English   中英

(我的)拖放(javascript)無法正常使用文本

[英](my) Drag and Drop (javascript) doesn't work properly with text

如果涉及到文本,我的javascript拖放引擎(仍在使用它)對第二次拖動不起作用。 它仍然表現正常,除非你單擊<p id="square" onmousedown="drag(event)">meep</p> ,文本就會從你所點擊的位置下拉並跟隨你 - 但是從下面(a)幾厘米)你點擊的地方。 另一方面,如果我使用沒有文本的<div> ,它可以很好地工作。

// JavaScript Document

var posX;
var posY;
var element;

function drag(event) {
    element = document.getElementById("square");
    posX = event.clientX -parseInt(element.offsetLeft);
    posY = event.clientY -parseInt(element.offsetTop);
    document.addEventListener("mousemove", move, false);
}

function move(event) {

    if (typeof(document.getElementById("square").mouseup) == "undefined")
        element.addEventListener("mouseup", drop, false);
    //Prevents redundantly adding the same event handler repeatedly

    element.style.left = event.clientX - posX + "px";
    element.style.top = event.clientY - posY + "px";
}    

function drop() {
    document.removeEventListener("mousemove", move, false);
    element.removeEventListener("mouseup", drop, false);
}

而html是:

<div id="square" onmousedown="drag(event)"></div>

要么

<p id="square" onmousedown="drag(event)">meep</p>

和一些節省時間的CSS:

#square {
    position: relative;
    width: 100px;
    height: 100px;
    background: red;
}

謝謝大家的答案和時間!

編輯: <div>似乎與其中的文本完美配合,但不是<p>

你的<p>元素是否有邊距或填充? 我猜這是推動它不合適的原因

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM