Mar*_*scu 5 javascript dom-events
我正在用 Javascript 开发一个滚动条。除了一个问题外,一切正常。我注意到,在拖动滚动条时,如果将鼠标移动到正在滚动的上下文上,则会选择内容。我不希望这种情况发生,因此我使用了preventDefault事件对象中的方法,该方法非常适合 IE9 和其他现代浏览器。但在IE7和IE8上,问题依然存在。我做了一些搜索,发现我应该将returnValue事件对象的参数设置为 false。但问题仍然存在。另外,如果我写alert(window.event.returnValue)它就会弹出undefined。
scrollbar.onmousedown = function (event) {
if (typeof event == 'undefined') event = window.event;
if (typeof event.preventDefault != 'undefined') event.preventDefault();
event.returnValue = false;
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
在IE7&8中,没有事件对象作为函数的参数,而是存在window.event。尝试
window.event.cancelBubble = true
Run Code Online (Sandbox Code Playgroud)
来停止传播。为了避免 FireFox 等出现问题,请执行以下操作:
if (!event)
event = window.event;
//IE9 & Other Browsers
if (event.stopPropagation) {
event.stopPropagation();
}
//IE8 and Lower
else {
event.cancelBubble = true;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18518 次 |
| 最近记录: |