如何让'button'创建一个可移动的DIV onMouseDown,并将'MouseDown'切换到新的DIV?

时间:2015-01-22 16:44:17

标签: javascript jquery html css jquery-ui

所以我还没有开始写这些,所以为了清楚起见,我会尽力将一些伪代码放在一起 - 但这里的想法是用户点击并按住'按钮' (可能不会成为一个真正的按钮),然后产生一个可移动的DIV。一旦创建了DIV(当时鼠标在哪里,可能偏移了一点,所以鼠标在div内),我想把我的'保持焦点'切换到新的可移动DIV,这样就可以了放在屏幕上;那时候我会对DIV做一些其他的操作 - 但是在这一点之后,其余部分与这个问题无关。

真实的,不完整的伪代码 - 这大致是我所追求的;而且我相信我最大的问题是如何真正改变我的抓斗重点。

<script>
function NewDiv()
{
   NewDiv = CreateDiv(MouseX, MouseY);
   GrabDiv(NewDiv);
}

function CreateDiv(X, Y)
{
    // DOM for a new DIV... I've got this part covered...
    // JQuery for Movable - Covered
    NewDiv.style.left=(X - 3) + "px";
    NewDiv.style.top=(Y - 3) + "px";

    return NewDiv;
}

function GrabDiv(Div)
{
    // Here's the question...

    // Div.Focus? - While the mouse is still down, I might think this would work?
    // Div.onMouseDown? - Buuuuuut... Is that going to interact with the mouse properly?
}

</script>

<input type='button' onMouseDown='NewDiv();' value="Spawn a new Div" />

现在 - 再一次,真正的问题是“GrabDiv”功能的“正确”方法是什么。任何反馈都非常感谢;如果我需要详细说明,我很高兴。

- 看起来可能至少还有一篇关于这样的帖子;有一个非常复杂的答案。也许这个小小的颠簸会鼓励一个新的答案。希望。

1 个答案:

答案 0 :(得分:1)

你见过这个在其他地方工作吗?

我会研究使用jQuery-UI的拖放。

编辑:我猜它确实有效。我会用这个jsbin作为起点:http://jsbin.com/deyovunaxe/2/edit