0

我似乎无法让它工作,但我想要做的是能够将一些东西附加到我的鼠标上,然后当我 mousedown 取消绑定单击但然后重新绑定它以移动宽度和高度而不是顶部和左侧. 尝试如下:

$(document).mousemove(function(mouseEvent) {
    creationTagBool = true;
    n.show();
    n.css("left", mouseEvent.pageX);
    n.css("top", mouseEvent.pageY);
}).mousedown(function(mouseEvent) {
    if (creationTagBool) {
        $(this).unbind("mousemove");
        creationTagBool = false;
        //draggCon();
        n.css("width", mouseEvent.pageX - n.css("left"));
        n.css("height", mouseEvent.pageY - n.css("top"));
    }

}).mouseup(function(mouseEvent) {
    $(this).unbind("mousedown");
    draggCon();
});​

我实际上在想它应该做类似的事情:mousemove,mousedown 解除绑定然后重新绑定 mousemove,on mouseup 再次解除绑定 mousemove。

当我输入这个时,我在想这可能有效,所以我必须快速测试它。我的想法如下:

$(document).mousemove(function(mouseEvent) {
    creationTagBool = true;
    n.show();
    n.css("left", mouseEvent.pageX);
    n.css("top", mouseEvent.pageY);
}).mousedown(function(mouseEvent) {
    if (creationTagBool) {
        $(this).unbind("mousemove");
        creationTagBool = false;
        //draggCon();
        //n.css("width", mouseEvent.pageX - n.css("left"));
        //
        $(this).mousemove(function() {
            n.css("width", mouseEvent.pageX - n.css("left"));
            n.css("height", mouseEvent.pageY - n.css("top"));
        }).mouseup(function() {
            $(this).unbind("mousemove");
            draggCon();
        });
    }
});​
4

1 回答 1

0

错误是宽度高度和宽度,所以在运行它时,你需要有。mouseEvent.pageX + n.position().left 而不是 n.css("left")。

当我开始工作时,它似乎很好,虽然有点慢。我暂时没有点击并拖动事件,而是将其检查为 2 次点击。

于 2012-08-20T18:46:59.290 回答