4

Android 4.0.4 の Samsung Galaxy SIII のデフォルト ブラウザには、最も奇妙な問題があります。

次のページでは、リンクをクリックしても JavaScript ハンドラーがトリガーされません。divの1つのコンテンツから単一の「a」文字を削除すると、それらが再び機能します...

以下は、JS コンソールのスクリーンショットです。

ここに画像の説明を入力

Android バグ レポートを開きました。同じ問題がある場合は、スターを付けてください。ありがとうございます。

よろしくお願いします。

<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 に答える
0

このようなものも機能します:

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