Я только что заметил что-то странное. Если я рисую форму SVG, координаты, которые я предоставляю, поскольку атрибуты формы x и y не совпадают с координатами, возвращаемыми событием мыши в этой форме, при использовании стандартных способов возврата положения мыши.
Например, если я нарисую прямоугольник следующим образом:
shape = svgDocument.createElementNS(svgNS, "rect");
shape.setAttributeNS(null, "x", rect_x);
shape.setAttributeNS(null, "y", rect_y);
...
shape.addEventListener("mouseover", etc);
в процедуре события я получаю положение мыши с помощью алгоритма QuirksMode («правильный скрипт для определения координат мыши», на http://www.quirksmode.org/js/events_properties.html). Для координаты Y я должен исправить Значение QuirksMode следующим образом, чтобы добраться до 'rect_y':
F/F 8 subtract 105
Webkit subtract 103
IE9 subtract 104
Opera subtract 103
Что также любопытно, это то, что и Webkit, и IE9 предоставляют evt.offsetY и устанавливают его в «правильную» позицию (в точности равную «rect_y»). FF оставляет offsetY неопределенным, а Opera устанавливает его в 1.
Я подозреваю, что проблема в том, что это находится на вкладке jQueryUI, хотя я еще не проработал это. Кто-нибудь видел это? Какие-нибудь мысли?