我有一个JavaScript应用程序,可以让用户在绘图区域中移动形状,而且我碰巧使用的是Google Closure库。在FF/Safari中,一切都很好。在IE中,当移动图形元素时,浏览器会选择它们(移动元素和其他元素),以不可预知的方式在某些元素周围显示彩色虚线背景:
如何在IE中关闭此行为?
发布于 2010-07-25 03:47:38
经过一些实验,我找到了部分答案。
goog.events.Event类有一个preventDefault方法。只需处理图形元素上的MOUSEMOVE事件。然后调用event#preventDefault方法:
var element = ... // some element
var graphics = goog.graphics.createGraphics('400', '300');
var fill = new goog.graphics.SolidFill('#00ff00', 0.5);
var stroke = new goog.graphics.Stroke(1, 'black');
graphics.drawEllipse(60, 60, 10, 10, stroke, fill);
graphics.drawEllipse(90, 90, 10, 10, stroke, fill);
graphics.render(element);
goog.events.listen(graphics.getElement(), goog.events.EventType.MOUSEMOVE, function(e) {
e.preventDefault();
e.stopPropagation();
});在图形元素内单击,然后拖动不再选择圆。同样,这只在IE上是必需的。
还有一个小问题。在图形区域外按下鼠标,然后将光标拖动到图形区域中,将选择整个区域或区域和图形元素。
https://stackoverflow.com/questions/3272120
复制相似问题