【发布时间】:2012-07-16 08:28:42
【问题描述】:
我对 Android 4.0.4 上的三星 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>
【问题讨论】:
-
试试 $(element).on('blur', function(){});
-
@Pilatus 我试过 $("#blue").blur(function(e) {... 但它不起作用,你用我的示例文件试过了吗?
-
这适用于 Galaxy Nexus Android 4.0.4 默认浏览器。如果 Galaxy SIII 浏览器抛出任何错误,您是否尝试过查看控制台?
-
@TorstenWalter 当我点击一个链接时,我得到:
Uncaught TypeError: Cannot convert null to object -
实际上我在页面加载时收到错误...
标签: javascript android jquery android-4.0-ice-cream-sandwich