Javascript 相同元素的this.id值在不同浏览器中不同
我使用Raphael.js来处理SVG映射。它在所有桌面浏览器中都表现出色。我有一个点击功能,当点击地图上的一个给定区域时,它会触发一些事情。它依赖于抓取单击对象的(this.id)并返回一些结果 问题是它可以在桌面浏览器Safari、Opera、IE9和Chrome上运行。我尝试在移动android(4.0.3)浏览器上打开相同的东西,但(this.id)的值不相同,因此我单击的区域不是我得到结果的区域。桌面上对象的this.id不等于移动浏览器上相同对象的this.id 我已经使用警报验证了这些值。有什么好处?我如何解决这个问题,或者以更简单的方式找到单击项目的id 以下是重要的代码片段:Javascript 相同元素的this.id值在不同浏览器中不同,javascript,jquery,Javascript,Jquery,我使用Raphael.js来处理SVG映射。它在所有桌面浏览器中都表现出色。我有一个点击功能,当点击地图上的一个给定区域时,它会触发一些事情。它依赖于抓取单击对象的(this.id)并返回一些结果 问题是它可以在桌面浏览器Safari、Opera、IE9和Chrome上运行。我尝试在移动android(4.0.3)浏览器上打开相同的东西,但(this.id)的值不相同,因此我单击的区域不是我得到结果的区域。桌面上对象的this.id不等于移动浏览器上相同对象的this.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);
}
}
我已经确认所有其他值都是一致的,除了当我获取这个.id时。我正在使用Raphael.js()中的内置处理程序,id应该在事件中。在您的事件处理程序中
var id=evt.target.id代码>你能发布一个JSFIDLE让我们看看你在做什么吗
暗中拍摄:您可以使用事件对象,通常是传递给事件侦听器回调函数的第一个参数。然后可以执行eventObject.currentTarget.id,它应该是对触发单击事件的节点的引用。噢,就像hvgotcodes所说的那样。但根据具体情况,您可能需要currentTarget: