0

私はそれが機能しているようには見えませんが、私がやりたいのは、マウスに何かを接続できるようにすることです.次に、マウスダウンするとクリックのバインドを解除しますが、再バインドして、上部と左の代わりに幅と高さを移動します. 試行は次のとおりです。

$(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を再バインドし、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

エラーは高さと幅の幅なので、実行するときは必要です。n.css("left") の代わりに、mouseEvent.pageX + n.position().left。

私がそれを機能させると、少し遅くなりますが、問題ないようです。とりあえずクリックアンドドラッグイベントの代わりに、代わりに2クリックにチェックしました。

于 2012-08-20T18:46:59.290 に答える