7

以下は、クロムでうまく機能する私のコードです。

<body>

<a href="javascript: sam.save();">hehe</a>

<script>

var sam = {
    save : function()
    {
        alert("here")
            return false;       
    }
}
</script>

Firefoxで実行すると、ページがリダイレクトされ、図のようなアドレスバーのコンテンツとともにfalseが画面に表示されます

ここに画像の説明を入力

Firefox のバージョンは 9.0.1 です

提案と回避策をお願いします...

4

6 に答える 6

9

何らかの理由で return false は href="javascript:" 内の FF では機能しませんが、void(0) は機能します。

<a href="javascript: sam.save();void(0);">hehe</a>
于 2014-06-26T22:51:13.250 に答える
7

あなたが引用したコードは、あなたが観察した動作を生成することはできません。観測された動作はsam.save()返された場合にのみ発生falseしますが、引用されたコードは返されますundefined。実際の完全なコードはどのように見えますか?

編集:有用な答えはコメントにありました。見つけやすいようにここに置いておきます。

あ、アラート後の「return false」を見逃してました。その場合、表示される動作は正しいです。javascript: の実行が undefined 以外の値を返した場合、その値は HTML の文字列として扱われ、レンダリングされます。少なくともほとんどのブラウザーでは。– ボリス・ズバルスキー 6 月 11 日 15:25

于 2012-06-08T14:54:56.513 に答える
5
<a href="#" onclick="sam.save();">hehe</a>
于 2012-06-08T12:40:52.720 に答える
2

より互換性のある構文は

<a href="javascript:void(0)" onclick="sam.save()">hehe</a>
于 2015-04-21T02:07:37.793 に答える
0

それを試してみてください

`<a href="javascript: void(sam.save())">hehe</a>`

お役に立てれば...

于 2016-04-07T07:54:17.147 に答える