2013-07-17 218 views
2

'mousewheel.zoom'事件('d3.js')不適用於Firefox瀏覽器(I得到最新版本的FF)。d3.js'mousewheel'事件不適用於Firefox(僅適用於Chrome,Safari和IE瀏覽器)

這裏的代碼一小片,我使用,以消除來自我的地圖鼠標滾輪事件:

功能draw_data_center(FILE_NAME){

d3.json(file_name, function(json) { 

    d3.select("#div_data_center svg").remove(); 

    vis = d3.select("#div_data_center").append("svg") 

     .attr("width", $("#div_data_center").width()) 

     .attr("height", $("#div_data_center").height()) 

     .attr("pointer-events", "all") 

     .append('svg:g') 

     .call(zoom.on("zoom", redraw)) 

     .on("mousewheel.zoom", null) //in this line of code I removed the 'mousewheel' functionality BUT it doesn't work in Firefox browser (the other browsers work correctly) 

     .on("click.zoom", null) 

     .on("touchstart.zoom", null) 

     .append('svg:g').......(etc...ect) 

有人可以幫助我問題?

+1

你可以看看這篇文章:http://www.sitepoint.com/html5-javascript-mouse-wheel/ –

回答

3

我不知道你是否修復了你的問題,但是我試圖找到答案時偶然發現了你的頁面。

我發現很多文檔指出,對於Firefox,將「DOMMouseScroll.zoom」設置爲null可修復問題。但是,似乎FireFox已經改變了他們檢測滾輪的方式。這裏是你的代碼,修改,包括修復:

vis = d3.select("#div_data_center").append("svg") 
     .on("mousewheel.zoom", null) 
     .on("DOMMouseScroll.zoom", null) // disables older versions of Firefox 
     .on("wheel.zoom", null) // disables newer versions of Firefox 
相關問題