我正在使用raphael在屏幕上绘制项目。我有一个包含在div
和overflow: scroll
中的绘图对象的容器。在所有broswers 除了 IE 7/8用户绘图时,它不会滚动。但是,在IE 7/8中,当用户拖动(即绘制一条线)时,它会在用户接近边缘时自动滚动。我已经找到了一些jQuery的帮助,并试图覆盖div的onscroll
事件,但这不起作用。
我没有使用jQuery而无法添加它。
答案 0 :(得分:2)
有时滚动是由于在窗口中“选择”文本引起的(在此SO页面上从上到下单击并拖动以查看我的意思)。如果在没有看到jsFiddle示例或示例代码的情况下出现问题,我无法从您的说明中看出,但您可能会尝试禁用选择。
正如您所说,jQuery不适合您。如果是,您只需使用disableSelection()
。
对于vanilla Javascript解决方案,请尝试:
function disableSelection(target) {
if (typeof target.onselectstart != "undefined") { //IE
target.onselectstart = function () {
return false;
};
} else if (typeof target.style.MozUserSelect != "undefined") { //Firefox
target.style.MozUserSelect = "none";
} else { //All other ie: Opera
target.onmousedown = function () {
return false;
};
}
target.style.cursor = "default";
}
window.onload = function () {
disableSelection(document.body);
};
来源(为清晰起见略作修改):Disable selection on browser using Javascript