Javascript JS跨浏览器兼容性问题
这段代码在Chrome中运行良好,但在Firefox或IE中不起作用Javascript JS跨浏览器兼容性问题,javascript,html,google-chrome,firefox,Javascript,Html,Google Chrome,Firefox,这段代码在Chrome中运行良好,但在Firefox或IE中不起作用 <script> $(document).ready(function(){ var currentOne=$("#instructions"); currentOne.addClass("visibleLabel"); $('map area').mousemove(function(e) { $(currentOne).removeClass("visibleLabel
<script>
$(document).ready(function(){
var currentOne=$("#instructions");
currentOne.addClass("visibleLabel");
$('map area').mousemove(function(e) {
$(currentOne).removeClass("visibleLabel");
currentOne = '#' + $(this).data('label');
$(currentOne).addClass("visibleLabel");
});
});
</script>
<img src="http://greenparty.org.uk/assets/images/site_graphics/national/greenmap.png"
usemap="greenuk" id="theGreenMap">
<map name="greenuk">
<area shape="poly" id="region-southeast"
data-label="southeast" coords="256,485,262,486,285,542,301,531,344,536,349,547,298,577,263,574,234,587,205,577,202,562,216,513,214,499,247,498"
alt="southEast" href="south-east" />
<!-- etc. -->
</map>
$(文档).ready(函数(){
var currentOne=$(“#指令”);
currentOne.addClass(“visibleLabel”);
$('map area').mousemove(函数(e){
$(currentOne).removeClass(“visibleLabel”);
currentOne='#'+$(this.data('label');
$(currentOne).addClass(“visibleLabel”);
});
});
如果您在Firefox中尝试,您将无法单击所需的地图部分,但在Chrome中您可以单击。您的问题与您的脚本无关(您可以完全删除它,但问题仍然存在),与您的HTML有关
usemap
属性必须有一个前导的#
。根据:
usemap
属性(如果指定)必须是对map
元素的有效哈希名称引用
A是
一种字符串,由“#”(U+0023)字符和与元素的name属性值完全匹配的字符串组成
您的usemap
值没有一个前导的#
,Chrome接受该值(超出规范要求),Firefox不接受。在usemap
属性中添加一个前导的
可以修复您的代码。用提琴测试一下怎么样?哪个部分不起作用了?Moe,试着在相应的浏览器中使用调试器来查看发生了什么。。。也许这是打破了铬,但铬更宽容。对于Chrome调试器、FireFox Firebug(需要安装)和IE的调试器,请使用F12
,并检查控制台选项卡是否抛出错误。请提供一把小提琴,以便我们可以看到代码的作用。另外,请围绕您的问题添加更多的上下文,例如:a)您的代码目标是什么,,b)什么不起作用,
和c)您尝试了什么
@Growler非常感谢您的提示。我添加了提琴,还安装了firefox firebug,我正在尝试解决这个问题。谢谢