小编Tin*_*oni的帖子

.ondragstart不等于.addEventListener("dragstart")

我想使img元素不可选择和不可分割,因为我将它用作窗口大小调整控件(单击并拖动周围的div调整窗口大小).

它完美地工作如下:

noSelect[x].ondragstart = function() {return false};
Run Code Online (Sandbox Code Playgroud)

但由于这将在firefox(3.6.*)扩展中使用,该扩展在每个HTMLElement周围使用XPCNativeWrapper,我不能使用".onsdragstart"并且必须使用".addEventListener"

问题是相当于上面的代码不起作用.单击并拖动img会触发firefox的默认图像拖动,而不是在以下内容中调整窗口大小:

noSelect[x].addEventListener("dragstart", function () {return false}, false)
Run Code Online (Sandbox Code Playgroud)

上面引用的两行代码不相同吗?

不可选对象的完整上下文:

var noSelect = document.getElementsByClassName("noSelect")
    for (x in noSelect) {
        if (x == "length")
            break
        noSelect[x].unselectable = "on";
        noSelect[x].onselectstart = function(){return false};
        noSelect[x].ondragstart = function() {return false};
        noSelect[x].style.userSelect = "none"; // w3c standard
        noSelect[x].style.MozUserSelect = "none"; // Firefox
    }
Run Code Online (Sandbox Code Playgroud)

javascript drag-and-drop firefox-addon dom-events

6
推荐指数
2
解决办法
6429
查看次数