下記のhtmlでフォーカスを移動させる事は出来るが
クリックが出来ていない。
最初開いた時に、最後の行に移動させてフォーカスを
当てる所迄は出来ているが。その時に、最後の行を
クリックさせて表示をさせる事が出来ないでいる。
また、jとlで移動させてフォーカスを当てる事は
出来ても、その時の行をクリックさせて、その内容
を表示させる事は出来ていない。
何れにしても、クリックが出来ていない。これをどの様に
すれば、クリック動作をする事が出来るのだろうか。
下記に今のファイルの内容を示します。
main.htmlの内容
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=shift_jis">
<title>メニュー</title>
<body>
<iframe src="menu.html" name="menu" width="12%" height="100%"align="left" style="margin-left:50px;"></iframe>
<iframe src="contents.html" name="contents" width="80%" height="100%"align="left"></iframe>
</body>
</html>
menu.htmlの内容
<html>
<head>
<title>メニュー</title>
</head>
<body>
<style>
li.hide{display:none;}
</style>
<input type="text" name="keyword" id="keyword">
<input type="button" value="choice" onclick="choice()">
<script src="http://ajax.googleapis.com/
ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function(){
$("#target a").on('focus',function(){
}).last(0).trigger("focus");
$("#target a").on('keydown',function(e){
var target_a=$(this);
if(e.keyCode==74){
var target_li=$(this).closest('li').prev('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:last-child'):target_a=target_li.find('a');
}else if(e.keyCode==76){
var target_li=$(this).closest('li').next('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:eq(0)'):target_a=target_li.find('a');
}
target_a.trigger('focus');
});
});
</script>
<ol id="target">
<li><a href="./150908-1504.html" target="contents">150908-1504</a></li>
<li><a href="./150908-1515.html" target="contents">150908-1515</a></li>
<li><a href="./150908-1518.html" target="contents">150908-1518</a></li>
</ol>
</BODY>
</HTML>
contents.htmlの内容
<HTML>
<HEAD>
<TITLE>contents</TITLE>
</HEAD>
<BODY>
<P>
最初はここに表示する
</P>
</BODY>
</HTML>
以下の150908-1504.html,150908-1515.html,
150908-1518.htmlは単にサンプルで何でも良いので表示を
するだけで、表示は何でも良いですが、一応書きます。
150908-1504.htmlの内容
<HTML>
<HEAD>
<TITLE>contents</TITLE>
</HEAD>
<BODY>
<P>
150908-1504
</P>
</BODY>
</HTML>
150908-1515.htmlの内容
<HTML>
<HEAD>
<TITLE>contents</TITLE>
</HEAD>
<BODY>
<P>
150908-1515
</P>
</BODY>
</HTML>
150908-1518.htmlの内容
<HTML>
<HEAD>
<TITLE>contents</TITLE>
</HEAD>
<BODY>
<P>
150908-1518
</P>
</BODY>
</HTML>
済みません。これに、クリックさせて表示を
右のフレームに表示させる方法をソースで
回答願います。
無理な質問で迷惑をかけますが、宜しくお願いします。
No.1
- 回答日時:
targetをもつaのclickを別途定義すればいいでしょう。
functionで受け取ったイベントハンドラeを
e.preventDefault()で殺した上で、
iframeのsrcをアンカーのデータを元に書き換えてやります
<script src="ttp://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function(){
$('a[target]').on('click',function(e){
e.preventDefault();
$('iframe[name='+$(this).attr('target')+']').attr('src',$(this).attr('href'));
}).eq(0).trigger('click');
});
</script>
<a href="mypage.htm" target="hoge">iframe 更新</a>
<iframe name="hoge"></iframe>
有難う御座います。
これを、最初開いた時にリンクの最後の行に
フォーカスを当てると言う事とセットで
スクリプトを書くとすると、全体では
どの様なソースに成るのでしょうか。
また、これは同じ事ですが、jとlでフォーカスを
移動した時にもこのクリックと言う事が全体の
スクリプトが私には分かりません。
済みません。全体が見えません。私のソースに
当てはめてソースを例示願います。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
フォーカス時に更新するならクリックイベント使う必要ないですね
前回のとまとめるとこうです。
<script src="ttp://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(function(){
$("#target a").on('focus',function(){
$("#target a").css({"background-Color":""});
$(this).css({"background-Color":"red"});
$('iframe[name='+$(this).attr('target')+']').attr('src',$(this).attr('href'));
}).last(0).trigger("focus");
$("#target a").on('keydown',function(e){
var target_a=$(this);
if(e.keyCode==74){
var target_li=$(this).closest('li').prev('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:last-child'):target_a=target_li.find('a');
}else if(e.keyCode==76){
var target_li=$(this).closest('li').next('li');
target_a=target_li.length==0?$(this).closest('ol').find('a:eq(0)'):target_a=target_li.find('a');
}
target_a.trigger('focus');
});
});
</script>
<ol id="target">
<li><a href="./150908-1504.html" target="contents">150908-1504</a></li>
<li><a href="./150908-1515.html" target="contents">150908-1515</a></li>
<li><a href="./150908-1518.html" target="contents">150908-1518</a></li>
<li><a href="./150908-1811.html" target="contents">150908-1811</a></li>
<li><a href="./150908-2004.html" target="contents">150908-2004</a></li>
<li><a href="./150909-0105.html" target="contents">150909-0105</a></li>
<li><a href="./150909-0652.html" target="contents">150909-0652</a></li>
<li><a href="./150909-0925.html" target="contents">150909-0925</a></li>
<li><a href="./150909-1011.html" target="contents">150909-1011</a></li>
<li><a href="./150909-1121.html" target="contents">150909-1121</a></li>
<li><a href="./150909-1232.html" target="contents">150909-1232</a></li>
<li><a href="./150909-1423.html" target="contents">150909-1423</a></li>
<li><a href="./150910-0046.html" target="contents">150910-0046</a></li>
</ol>
<iframe name="contents"></iframe>
有難う御座います。
menu.htmlで完結していますが。
済みません。この様な事を、実は、
今の上下では無くて、左右に表示をしたいのですが。
今のは、上にメニューを下にその内容を表示しています。
これを、左にメニューを右に内容を表示したいのですが。
その為にmain.htmlで、iframeを2つ使ってそれぞれの
ソースをmenu.htmlとcontents.htmlに分けています。
それで、このmenu.htmlのスクリプトでcontents.html
のiframeの所に表示をしたいと言うのが質問の趣旨です。
済みません。質問が分かりにくくて。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字と数字が混在する要素のsor...
-
ホームページビルダー15 メニュ...
-
プルダウンメニュー連動後の処...
-
jqueryアコーディオンのマウス...
-
JQueryで、liタグの背景に色を...
-
ツリーメニューについて
-
jqueryプルダウンメニュー個別着色
-
javascript テキストエリアを1...
-
MAX関数を使ってからLEFT JOIN...
-
htmlの記述で link rel=styles...
-
画像の上に画像リンクを貼る方法
-
スライダーを実装した場合、ペ...
-
背景色を一定時間ごとにランダ...
-
文字を固定したいのですが…
-
javascriptでURLにマウスオーバー
-
[急ぎ] videoタグで埋め込んだm...
-
離れた場所にマウスオーバーで...
-
c++std::string型をTCHARに変換...
-
タブで開いてさらにタブ内をア...
-
1行で左寄せと右寄せと中央揃え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jqueryのsortableで一部ソート...
-
javascriptでEnterキーをtabキ...
-
クリックした<a>タグのみにClas...
-
チェックボックスに入っている...
-
【javascript で動的に a タグ...
-
jquery ドロップダウンメニュー...
-
「jQuery」アコーディオンメニ...
-
jQueryで、リンクURLの一致を確...
-
jQueryのeqで最後からn番目以降...
-
ネストされたチェックボックス...
-
javascriptで、クリックしたら...
-
onmouseoverの表示切り替えが上...
-
文字と数字が混在する要素のsor...
-
jQueryでネスト構造の<li>がク...
-
タブメニューを上下に設置
-
<li></li>の数を制限
-
jQuery多層式アコーディオンメ...
-
どの<li><a> が押されたか判別...
-
CSSとJavaScriptを使ってドロッ...
-
複数の画像をランダム(シャッ...
おすすめ情報
済みません。
具体的には、menu.htmlの<script>...</script>
の所をどの様に変更すれば良いのでしょうか。
すみません。その部分だけの例示をお願いします。
宜しくお願いします。
有難う御座います。
再度、整理してから質問を再提出します。
有難う御座いました。