我正在使用 Raphael.js 来处理 SVG 地图。它在所有桌面浏览器中都表现出色。当点击地图上的给定区域时,我有一个点击功能来触发一些事情。它依赖于抓取被点击对象的 (this.id) 并返回一些结果。
问题是它适用于桌面浏览器 Safari、Opera、IE9 和 Chrome。我尝试在移动 android (4.0.3) 浏览器上打开相同的东西,但 (this.id) 的值不一样,所以我点击的区域不是我得到结果的区域。桌面上对象的 this.id 不等于移动浏览器上同一对象的 this.id。
我已经使用警报验证了这些值。是什么赋予了?我该如何解决这个问题或以更简单的方式找到点击项目的 ID?
这是重要的代码片段:
drawnl[i].click(function(){//click function
if(dcount == mcount){
idx = (highestid-1-this.id); // this takes the total number of markets generated up to this point, subtracts the # of markets for this current map
}else if(gens > 2){
idx = (mcount-1)-((dcount + (gens-2))-(this.id)); // this takes the total number of markets generated up to this point, subtracts the # of markets for this current
}else{
idx = mcount-1-(dcount-this.id);
}
}
我已经确认所有其他值都是一致的,除了当我获取 this.id 时。我正在使用 Raphael.js ( http://raphaeljs.com/reference.html#Element.click )的内置处理程序