我在 Android 4.0.4 上的 Samsung Galaxy SIII 的默认浏览器中遇到了最奇怪的问题:
对于以下页面,单击链接不会触发 JavaScript 处理程序。从其中一个 div 的内容中删除单个“a”字母会使它们再次工作...
这是 JS 控制台的屏幕截图:
我打开了一个 android bug report ,如果你有同样的问题请star,谢谢。
预先感谢您的帮助!
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
alert('attaching click handlers');
$("#red").click(function(e) {
alert('red clicked');
$("body").css("background-color", "#CC0000");
});
$("#green").click(function(e) {
alert('green clicked');
$("body").css("background-color", "#00CC00");
});
$("#blue").click(function(e) {
alert('blue clicked');
$("body").css("background-color", "#0000CC");
});
});
</script>
</head>
<body>
<div>
<p>
<a id="red" href="#">CHANGE TO RED</a>
</p>
<p>
<a id="green" href="#">CHANGE TO GREEN</a>
</p>
<p>
<a id="blue" href="#">CHANGE TO BLUE</a>
</p>
</div>
<p>Removing one of the a's in the content below will make the JS
click events work (i.e. trigger background color change), and
so will changing the 'page' class or id into something else</p>
<div class="page" id="page">
<div>aaaaaaaaaaaaaaaaaaa</div>
<ul>
<li>
<div>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div>
</li>
</ul>
</div>
</body>
</html>
最佳答案
实际上至少有一个简单的解决方案:将 DIV 的 id 更改为不包含“page”子字符串...
这与其说是解决方案,不如说是一种变通方法,但如果浏览器的自定义设置有问题,还能做些什么呢?
关于JavaScript 单击事件在 Android 4.0.4 默认浏览器上的 Samsung Galaxy SIII 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522140/