![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
<a href="#..." ..> のようなアンカーによる場所の移動だけのタグがあります。
これをクリックしたときに処理を行いたいです。
ただ、多量のタグに対して処理を割り当てたいので、
onClick イベントをaタグにつける方法ではない方法がないかと探しています。
例えば、<body onload="kansuu();"> のようにすればページのロード時に
kansuu() を実行してくれます。
が、これではアンカーによる場所移動だけの場合にはページをリロードしないので、kansuu()は呼び出されません。
この <body onload="kansuu();"> のように、一箇所に記載するだけで、
アンカークリック時に実行されるような方法を探しています。
もし分かりましたら教えてください。
なお、クリックした際に、クリック前までのアンカーを得る方法があれば、それも教えてください。
お願いします。
No.1ベストアンサー
- 回答日時:
まず、きょうびbodyのonloadははやってないので、以下のようにしてみては?
<script>
window.onload=function(){kansuu();}
function kansuu(){略;}
</script>
で、初期処理を設定できるので、アンカーに対する処理として
以下のようにざっと処理をいれてしまうとよいかと。
<script>
window.onload=function(){
kansuu();
setAnchor();
}
function kansuu(){
}
function setAnchor(){
var tags=document.getElementsByTagName("a");
for (var i in tags) tags[i].onclick=function(){alert("test")};
}
</script>
No.3
- 回答日時:
質問は2つありますよね?
> アンカークリック時に実行されるような方法を探しています。
document objectでは、document.linksで<a>一覧を取得できます。
(document.formsはよく使われている方法です)
<script>
function init(){
kansuu();
for(var i=0,as=document.links;i<as.length;as[i++].onclick=kansuu);
}
function kansuu(){
//なにか
}
</script>
<body onload="init();">
上記<body onload="">のかわりにwindow.onloadを使うこともできます。
window.onload=function(){
kansuu();
for(var i=0,as=document.links;i<as.length;as[i++].onclick=kansuu);
}
DOMで。
DOMを使うと長くなりますが、<a>だけでなく<div>や<form>なども共通の書き方で書けるというメリットがあります。
(さらにC#、PHP、JavaなどのDOMをサポートする言語でも共通の書き方ができます)
<script>
if(window.addEventListener){
window.addEventListener('load', kansuu, false);
window.addEventListener('load', init, false);
}else if(window.attachEvent){
window.attachEvent('onload', kansuu);
window.attachEvent('onload', init);
}
function init(){
var as=document.getElementsByTagName('A');
if(window.addEventListener){
for(var i=0,a;a=as[i];i++){
a.addEventListener('click', kansuu, false);
}
}else if(window.attachEvent){
for(var i=0,a;a=as[i];i++){
a.attachEvent('onclick', kansuu);
}
}
}
function kansuu(){
// なにか
}
</script>
<body>
未検証です。
> なお、クリックした際に、クリック前までのアンカーを得る方法があれば、それも教えてください。
こっちの方法は、ANo.2が一番的を射ていると思います。
element.tagNameはJScript(いわゆるIE専用)なので、element.nodeNameの方が良いと思います。
(JScriptをサポートするIE以外のブラウザも増えてきてますので、そういうのでは使えます。)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_12.png?e8efa67)
No.2
- 回答日時:
<html>
<a href="#abc" id="abc" name="efg">abc</a>
<script>
addEvent( document.body, 'click', test );
function test( evt ){
var element = evt.target || event.srcElement;
if( element && element.tagName == 'A') alert([ element.href, element.id, element.name ]);
}
function addEvent(elementId, evt, eventHandler, flag){
var element = ( typeof( elementId ) == 'string' )? document.getElementById( elementId ): elementId;
element./*@cc_on @if(1)attachEvent('on'+ @else @*/addEventListener(/*@end@*/evt, eventHandler, flag);
}
</script>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- Word(ワード) ワード2023でテキストボックス内の数字が勝手に変わってしまう 1 2023/02/09 14:47
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- DIY・エクステリア アンカーの種類と取り付け方法について 2 2022/08/01 10:46
- Excel(エクセル) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 2 2022/05/07 17:16
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- SEO Wordpressで地図上のポイントをクリックしたらタグも連動して変わるやり方 1 2023/05/16 01:12
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/22 11:43
- インターネットビジネス Google によりアカウントは閉鎖されました 復活させるにはどうすれば? 基本的に無理ですか? 1 2023/08/18 17:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
<a>タグのテキストを取得
-
javascriptでスロットゲームを...
-
javascriptでCSVを呼出しvlookup
-
javascriptを使ったページ内の...
-
問題はbind の付いたリスナーを...
-
javascript画面を自動で切り替...
-
画像上のクリックした場所が分...
-
javascript 特定のタグのidの存...
-
onchangeイベントを使ってspan...
-
JavaScriptでゲーム作成
-
同じIDで定義した要素の配列を...
-
functionから別のfunctionを実...
-
この将棋プログラムに王様ゲッ...
-
関数でy=g(x)のgとは何の略です...
-
C#OpenCv V4にのエラーに関する...
-
document.onkeydownについて
-
ローカルにあるファイルを検索...
-
なぜmatchメソッドがエラーにな...
-
jspからjavascriptの変数引継ぎ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
任意の座標をクリックさせるには
-
ActiveXobjectが作成できない
-
innerHTML実行後のイベント
-
Click回数を数え、規定された回...
-
HTML:Tableタグに対し、JavaScr...
-
JavaScriptでオブジェクトを取...
-
onchangeイベントを使ってspan...
-
【Tabキー】特定の範囲内だけで...
-
モーダルダイアログウィンドウ...
-
重複しないくじの作り方がわか...
-
javascript 特定のタグのidの存...
-
配列の大括弧と丸括弧はどう違う?
-
javascriptであるボタンを押す...
-
「nullまたはオブジェクトでは...
-
div要素内の全input要素をdisable
-
onclickを使わずにイベント処理...
-
画像上のクリックした場所が分...
-
RadioButtonListの表示制御
-
javascriptで自動計算フォーム...
おすすめ情報