如何防止jquery可调整大小的div接收调整大小单击事件

问题描述 投票:0回答:1

我创建一个div然后:

$("#div").resizable({
    disabled:true
});

然后我启用调整大小行为,同时我想处理div上的点击:

$("#div").on("click", myHandler);
$("#div").resizable( "option", "disabled", false);

function myHandler() {
    console.log("div clicked");
}

如果现在我拖动div的右下角我可以调整它的大小,但是当我释放拖动时如果鼠标指针位于div内(这种情况发生在收缩时),myHandler()也被调用。由于myHandler()应该处理不同的行为 - 而不是调整大小 - 我该如何解决这个问题?

到目前为止我尝试过没有成功:

$("#div").resizable({
    disabled:true,
    stop: function(event) { event.stopPropagation(); }
});
javascript jquery resize click
1个回答
1
投票

当鼠标位置与它开始时位于同一位置时,如何仅执行单击处理程序?

var left = 0;
var top = 0; 

("#div").on({
        mousedown: function(e) {
            left  = e.pageX;
            top   = e.pageY;
        },
        mouseup: function(e) {
            if (left === e.pageX && top === e.pageY) {
                console.log('click');
            }
        }
});
© www.soinside.com 2019 - 2024. All rights reserved.