我有:
<script>
jQuery(document).ready(function(){
$("#mydiv").click(function(){
$("#content").load("html/page.php");
});
});
</script>
以及图像映射内部:
<div id="mydiv"><area shape="rect" coords="318,122,413,221" href="#"/></div>
之前该行的另一个版本:
<area shape="rect" coords="318,122,413,221" href="#" id="mydiv"/>
这些(图像映射线的两个版本)适用于我的所有浏览器,但 Safari (5.0.5) 除外。在 Safari 中我点击但没有任何反应。常规链接有效,因此图像映射没有任何问题。
我尝试删除 href 中的 #,然后它适用于 Safari,但不适用于其他浏览器。如果我删除整个 href="#"会发生什么,我会回到不在 Safari 中工作并为其余部分工作
有人知道如何让点击在所有浏览器中正常工作吗?
非常感谢
最佳答案
它不会解决您的问题,但您可能需要将 jQuery(document).ready(function(){
更改为 $(function(){
)。它执行完全相同的操作。
关于您的问题,您是否尝试过使用 debugger 单步执行?这将帮助您查明点击处理程序是否被触发。
如果是href属性的内容导致问题,你可以尝试用“/”而不是“#”?显然,当 JavaScript 被禁用时,这会产生不同的行为。当 JS 被禁用时你希望发生什么?
此外,area必须有一个祖先映射元素。是吗?
如果将点击处理程序绑定(bind)到区域本身而不是其父区域,可能会有所帮助。
关于jquery - Safari 没有获取 jquery 点击功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7332338/