offsetX和offsetY不一樣瀏覽器兼容問題

公司作報表統計是用到了highcharts這個插件,使用插件時有個功能須要經過獲取鼠標在圖標上面的相對位置來實現。chrome

那麼問題來了,chrome中,直接經過e.offsetX和e.offsetY就能夠實現,達到預期效果;瀏覽器

IE中,offsetY和offsetY從邊框外部開始計算,和chrome的不計算邊框邊度不同,好吧,在IE瀏覽器時手動減去邊框寬度,也達到了預期效果;this

最後的firefox,頁面效果爲:firefox

發如今區域間移動時座標老是獲取不正確,打開調試發現紅色區域最左邊的offsetX爲0,第一個綠色區域最左邊的offsetX也爲0,而後使用網上找來的方法:插件

e.pageX-$(e.target).offset().left

發現和offsetX沒有區別,繼續調試發現e.target爲highcharts的背景的div,並非整個圖表所在的div,找到問題了,將獲取offsetX的代碼修改成:調試

e.pageX-$(this).offset().left

再看效果正常了code

相關文章
相關標籤/搜索