Tin*_*oni 6 javascript drag-and-drop firefox-addon dom-events
我想使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)
addEventListener注册一个EventListener,它没有任何特殊的返回代码处理.
从大多数on*事件处理程序返回false会根据HTML规范取消事件,在常规EventListener中,这可以通过调用event.preventDefault()他在答案中提到的Neil 来实现.
关于您的问题:在非 IE 浏览器中,要使对象不可选择,您必须捕获 onmousedown 事件并阻止默认行为。
| 归档时间: |
|
| 查看次数: |
6429 次 |
| 最近记录: |