您好,有没有办法防止jquery在您拖动并释放输入字段外时检测到单击事件?问题是,我有一个模式窗口,当你在窗口(背景)之外单击时,它会关闭。如果在模式窗口中有一个输入字段,并且选择了输入中的文本并将鼠标拖出模式窗口区域,然后释放单击,则模式将关闭,因为它检测到该元素上的单击事件,而实际上它不是单击事件,而是“释放”事件。
下面是一个https://jsfiddle.net/imurphy/tafwzero/1/示例
单击事件代码:
$('.how').on('click',function(e){
e.preventDefault();
if(!$(e.target).is('.how')){
return;
}
alert('Modal Closed');
});谢谢
发布于 2019-04-09 19:41:56
检查下面的code.You需要使用鼠标按下和鼠标向上处理拖放
var isDragging = false;
$(".how")
.mousedown(function() {
$(window).mousemove(function() {
isDragging = true;
$(window).unbind("mousemove");
});
})
.mouseup(function() {
var wasDragging = isDragging;
isDragging = false;
$(window).unbind("mousemove");
if (!wasDragging) {
$(this).selection();
}
});
$('.how').on('click',function(e){
e.preventDefault();
if(!$(e.target).is('.how')){
return;
}
alert('Modal Closed');
});https://stackoverflow.com/questions/55591761
复制相似问题