1

Webアプリを作成しようとしています。私のサイトがiPhoneでアプリとして実行されている場合、リンクをクリックするたびにアプリが閉じ、Safariでページが開きます。このフォーラムの誰かが私に以下を使うようにアドバイスしました。

$("a").click(function (event){
    event.preventDefault();
    window.location = $(this).attr('href');
});

これはうまく機能し、アプリ内ですべてのリンクが開きます。ただし、一部のリンクについては、event.preventDefault();を含めたいと思います。上記のコードにより、preventDefaultはオーバーライドされ、ページは引き続き読み込まれます。例えば:

$("a.myClass").live("click", function(event) {
    event.preventDefault();
    alert("testing");
});

<a href="http://google.com" class="myClass">Click me</a>

上記の両方のスクリプトがページにある場合、アラートボックスがはっきりと表示されますが、読む時間がなくなる前に、ページにリンクが読み込まれます。

これを回避する方法はありますか?

ありがとう

4

2 に答える 2

1

どうですか

$("a:not(.myClass)").click(function (event){
    event.preventDefault();
    window.location = $(this).attr('href');
});
于 2012-10-08T00:58:57.940 に答える
0

よくわかりませんが、うまくいくか試してください:

  $("a.myClass").live("click", function(event) {
        event.preventDefault();
        alert("testing");
        return false;
    });
于 2012-10-08T01:53:51.083 に答える