4

我对 Android 4.0.4 上的三星 Galaxy SIII 的默认浏览器有一个最奇怪的问题:

对于以下页面,单击链接不会触发 JavaScript 处理程序。从其中一个 div 的内容中删除单个“a”字母会使它们再次工作......

下面是 JS 控制台的截图:

在此处输入图像描述

我打开了一个android bug 报告,如果你有同样的问题,请给它加星,谢谢。

预先感谢您的帮助!

<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>
4

3 回答 3

2

实际上至少有一个简单的解决方案:将 DIV 的 id 更改为不包含“页面”子字符串...

与其说是解决方案,不如说是一种解决方法,但是如果浏览器有错误的自定义,还能做什么?

于 2012-07-19T07:48:24.860 回答
1

我刚刚在三星 Galaxy 上遇到了类似的问题。找到这个线程。变化自:

span id="page" 

至:

span id="pgNow" 

解决它!

于 2013-05-30T23:50:34.947 回答
0

像这样的东西也会起作用:

<a href='http://www.google.de' ontouchstart='window.location = this.href'>foo</a>"
于 2014-02-14T16:37:34.370 回答