今、iPhoneアプリの申請中ですることが特にないので、google gadgetのメンテナンスを行っているのですが、その中でちょっと不思議なことが起こりました。
aタグのhref属性でjavascriptを走らせるごく単純なプログラムなのですが、書くよりもソースを書いた方が早いかもしれません。
<a href="javascript:change()">test</a> |
最初、「test」という文字をクリックします。
すると、「bar」という文字が表示されます。
ここまではいいのですが、次に同じように、「test」という文字をクリックすると、「bar」という文字を削除したいのですが、上のプログラムを実行した結果、なんと画面に「false」と表示されたのです。
なぞです??
で、原因はわからないのですが、これは下記のようにvoid(0)を使うことで回避できるみたいです。
<a href="javascript:void(0)" onclick="change()">test</a> |
なんでなんだろう??
原因は
返信削除return false;
ってfalseを返してる所じゃない?
そうするとhogeオブジェクトが子を持つ状態でクリックされた場合、change関数はfalseを返す事になる訳で…
そうするとaタグのhref属性でchange関数を実行した結果、その戻り値を画面に表示しちゃう事になる。
多分、画面にfalseって表示されてる時はブラウザのアドレスバーがファイルパスじゃなくて
javascript:change()
みたいな感じになってない?
>ってfalseを返してる所じゃない?
返信削除俺も、そう思った。
>アドレスバーがファイルパスじゃなくて
>javascript:change()
>みたいな感じになってない?
確か、アドレスバーではなく、タイトルバーがそうなったような気がするよ。