マウスアップはマウス操作の後にアクティブ化されません。なぜ私は分からない。しかし、行のコメントを外すと、マウスアップはマウス操作の後に起動されません
$(this).replaceWith("<div class=" + "'" + $canvas.replace(".", " ") + "'" + "></div>");
が正常に動作します。要素がページにもはやであるため、mouseup
イベントは実行することはできません - ここにあなたが、その後mousemove
イベントに置き換えるDOM要素にmouseup
イベントを結合しているコード
var onmousemove = function ($canvas) {
// Painting the map with canvas
$map_canvas.mousedown(function() {
var ignoreMouseMove = false;
mouseDownFired = true;
$(".map .row div").mousemove(function (e) {
if (ignoreMouseMove) return;
//$(this).replaceWith("<div class=" + "'" + $canvas.replace(".", " ") + "'" + "></div>");
moveCanvas($canvas, e)
}).mouseup(function() {
ignoreMouseMove = true;
});
});
var paletteClone = $(document).clone(true); // bound handler for .palette div
};
var moveCanvas = function ($canvas, e) {
$(".map ul li." + $canvas).offset({
left: e.pageX - 30,
top: e.pageY - 30
});
};
'.replaceWith'は、' .mouseUp'がバインドされた '$("。map .row div ")要素を削除します。それが '.mouseup'が引き起こされない理由です。 – XeNo13GrIn
いくつかのHTMLコードを入力してください –