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

标签 javascript jquery default image drag

我尝试阻止浏览器默认图像在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/

相关文章:

javascript - 从文章标签的数据属性列表创建一个数组

python - 如何找到 scipy.integrate.ode 的默认 atol 和 rtol?

JavaFX FileChooser初始目录

javascript - Javascript 中的频繁数

javascript - 为什么 <video> 从 DOM 中移除后停止播放,而它仍然可以分离播放?

javascript - YouTube ID 的正则表达式

javascript 数值数据类型

javascript - JQuery 自动完成 IE8(Web 服务 ASMX))

javascript - 当另一个 TextBox 值更改时如何设置 TextBox 值

default - 默认情况下为 H2 数据库引擎中 UUID 类型的列上的每一行生成 UUID 值