gpt4 book ai didi

javascript - 使用 Dragstart PreventDefault 禁用浏览器默认图像拖动,但它也禁用我的拖动事件

转载 作者:行者123 更新时间:2023-12-01 01:51:35 30 4
gpt4 key购买 nike

我尝试阻止浏览器默认图像在dragstart中拖动,但不知何故它也禁用了drag和dragend事件。无论如何,我可以禁用浏览器默认图像拖动,但它仍然会运行拖动和拖动结束事件?

或者唯一的选择是使用背景图片?我不想这样做,因为我需要因此更改很多代码。现在我知道为什么每个人都使用背景图像了。

$("#addObjectBarContainer a img")
.bind("dragstart", function(event){
var tmpObjImg = $("<img></img>");
tmpObjImg
.attr({
id: "temp-img-object-drag"
, src: $(this).attr("src")
})
.css({
position:"absolute"
});

tmpObjImg.appendTo("body");
event.preventDefault();
})
.bind("drag" , function(event){
$("#temp-img-object-drag").css({
top: event.pageY,
left: event.pageX
});
})
.bind("dragend",function(event){
var ObjectTop = event.pageY - $("#canvas").offset().top;
var ObjectLeft = event.pageX -$("#canvas").offset().left
$("#temp-img-object-drag").remove();
$(this).parent().trigger("click");

$(activeObject).css({
top: ObjectTop,
left: ObjectLeft
});
$(activeObject,"div:first-child").css({
top: ObjectTop,
left: ObjectLeft
});

dragresize.elmY = ObjectTop;
dragresize.elmX = ObjectLeft;

inspector_Update(activeObject, "select");
});

最佳答案

现在,您可以在 Dragstart 事件监听器中使用 event.dataTransfer.clearData() 来禁用默认行为,但仍执行所需的监听器。

关于javascript - 使用 Dragstart PreventDefault 禁用浏览器默认图像拖动,但它也禁用我的拖动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8712303/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com