我剛剛注意到一些奇怪的東西。如果我繪製SVG形狀,則在使用返回鼠標位置的標準方法時,我提供的作爲形狀的x和y屬性的座標與該形狀上的鼠標事件返回的座標不匹配。QuirksMode在jQueryUI選項卡中的SVG鼠標位置不正確?
例如,如果我繪製一個矩形,如下所示:
shape = svgDocument.createElementNS(svgNS, "rect");
shape.setAttributeNS(null, "x", rect_x);
shape.setAttributeNS(null, "y", rect_y);
...
shape.addEventListener("mouseover", etc);
在事件例程
,我得到使用怪異模式算法(以下簡稱「用於檢測所述鼠標座標正確的腳本」鼠標位置,在http://www.quirksmode.org/js/events_properties.html)。對於Y座標,我必須糾正怪異模式值如下,爲了得到「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選項卡中,儘管我還沒有完成此工作。任何人看到這個?有什麼想法嗎?