どのジャンルで質問しようか迷ったのですが、ここでお願いします。
次のようにしてマウスオーバーした時にリンクが現れるようにしたのですが、
たしかにyahooのリンクは現れたのですが、クリックしても反応がありません・・・
どうすればリンクを機能させることができるのでしょうか?
<STYLE TYPE="text/css">
<!--
DIV.sample {
background-color:#FFFFFF;
position: static;
display:'block';
}
-->
</STYLE>
<SCRIPT language="JavaScript"><!--
function do_sample(){
document.getElementById('sample').innerHTML = "<a href=http://www.yahoo.co.jp>yahoo</a>";
}
// --></SCRIPT>
<div id="sample" class="sample" onMouseOver="do_sample()">ココ</div>
No.3ベストアンサー
- 回答日時:
要素が入れ子になっている部分でonmouseover,onmouseoutを使うとややこしい(上位でのイベント処理が下位層でのイベントの発生を邪魔する)のでこうしました。
マウスを乗せるまでリンクに見せたくないとかであればCSSで解決してはどうでしょう。
function do_sample(){
var Sample = document.getElementById('sample');
Sample.onmouseover='';
Sample.onmouseout=out_sample;
Sample.innerHTML = 'yahoo';
}
function out_sample(){
var Sample = document.getElementById('sample');
Sample.onmouseover=do_sample;
Sample.onmouseout='';
Sample.innerHTML = 'ここ';
}
<div><a href="http://www.yahoo.co.jp" id="sample" onmouseover="do_sample()">ココ</a></div>
No.2
- 回答日時:
こんにちは
onMouseoverをずっとやっているような感じ?(理由はよくわからないです)だと思うので別にしてみたらいい
試しにonClick使ってみたのですが文字部分はクリック効きませんでしたので・・
<div id="sample" class="sample">
<a href="" onMouseOver="do_sample()">ココ
</a>
</div>
ご返答ありがとうございます。
なるほど、このやり方でもできました。
そこでleap_dayさんにも#1の再質問を考えていただけないでしょうか?
お願いします。
No.1
- 回答日時:
innerHTMLで内容を書き換ても、onmouseoverが効くので
うまく動作しないのでは。
一度書き換えたらそれっきりなら
function do_sample(){
document.getElementById('sample').innerHTML = ~;
document.getElementById('sample').onmouseover='';//追加
}
と、でもしてonmouseoverを無効化してしまってはどうでしょう。
ご返答ありがとうございます。
たしかにリンクが効きました。
そこで追加で申し訳ないのですが、マウスをその場所から外したら
また「ココ」に戻すやり方はどのようになるか分かりますか?
つまり
マウスオーバーしたら→ヤフーリンク(クリックできる)
マウスアウトしたら→ヤフーリンクが消え、ココが現れる
という状態です。
onMouseOutを使うと思うのですが、次のようにやったのですがうまくいきませんでした・・・
<STYLE TYPE="text/css">
<!--
DIV.sample {
background-color:#FFFFFF;
position: static;
display:'block';
}
-->
</STYLE>
<SCRIPT language="JavaScript"><!--
function do_sample(){
document.getElementById('sample').innerHTML = "<a href=http://www.yahoo.co.jp>yahoo</a>";
document.getElementById('sample').onmouseover='';//追加
}
function out_sample(){
document.getElementById('sample').onmouseover='do_sample()';
document.getElementById('sample').innerHTML='';
}
// --></SCRIPT>
<div id="sample" class="sample" onMouseOver="do_sample()" onMouseOut="out_sample()">ココ</div>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
removeEventListenerについて
-
クリックで色変更後に既に変更...
-
読み込んだQRコードをフォーム...
-
表示・非表示のスクリプトで、...
-
マウスを乗せるとメニュー表示
-
バッチファイルでカウントアッ...
-
removeAttribute()メソッドで削...
-
タブで開いてさらにタブ内をア...
-
console.log結果をhtmlで表示し...
-
折りたたみ部分にアンカーでリ...
-
createElementで作成した要素を...
-
多次元配列を連想配列へ変換したい
-
HTMLタグに複数のクラスを設定...
-
取得した要素がインライン要素...
-
javascriptでスタイルを動的に...
-
getElementByIdの戻り値がnull...
-
document.getElementById( ).st...
-
CSSで指定したwidthをマウスで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
読み込んだQRコードをフォーム...
-
createElementで作成した要素を...
-
removeEventListenerについて
-
IFRAMEの表示/非表示を切り替え...
-
タブで開いてさらにタブ内をア...
-
変数名をどのようにつけるのが...
-
クリックで色変更後に既に変更...
-
表示・非表示のスクリプトで、...
-
HTMLとJavaScriptで作ったタイ...
-
console.log結果をhtmlで表示し...
-
jQueryでクリックされた要素のi...
-
HTMLタグに複数のクラスを設定...
-
指定したパスが現URLに含まれて...
-
iframe内のリンクが飛ばないの...
-
背景色を透明化
-
テキストエリア内の一部の文字...
-
変数内容をHTML内で表示する方法
-
classの中の<a>タグにidを追加
おすすめ情報