Javascriptをはじめ、Ajax、jQueryの著書多数のガイドが、何かと最近騒がれているJa…
北欧好きが、愛用の北欧モノを見せ合うコミュニティ
Javascript関連情報
更新日:2005年03月31日
これまで、インラインのイベントハンドラをHTMLから切り離す方法を紹介してきましたが、好評でしたので、もう少しだけ掘り下げてみたいと思います。今回は、onclick, ondblclickです。

| win | mac | linux | ||||||||
| n7 | m1 | e6 | o7 | n7 | m1 | e5 | s1 | n7 | m1 | k3 |
| ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ | ○ |
//====================================================================
// jsライブラリ
// イベント関連 jslb_event.js
//
//
// 2005/03/30 ( Use Free 商用利用も自由です )
//--------------------------------------------------------------------
//--イベントキャプチャ開始関数
// 書式 startEvent('対象オブジェクト名','イベントタイプ名','動作する関数')
// 例 startEvent("document.getElementById('test')","click","doFunc")
// http://allabout.co.jp/internet/javascript/closeup/CU20030920/index.htm
//--イベントキャプチャ停止関数
// 書式 stopEvent('対象オブジェクト名','イベントタイプ名')
// 例 stopEvent("document","mousemove")
// http://allabout.co.jp/internet/javascript/closeup/CU20030922/index.htm
//--対象オブジェクト名を取得
// 書式 getLayOjStr(id名)
// 例 testojstr = getLayOjStr("test")
// 戻値 対象オブジェクトのdocument以下の名前
// (例 "document.getElementById('test')"や"document.layers['test'])"
// http://jsgt.org/mt/archives/01/000186.html
//--------------------------------------------------------------------
// Toshirou Takahashi/サポート http://jsgt.org/mt/01/
//--------------------------------------------------------------------
/*
使用例: ページ読み込み時にid="test"のDIVへonclickイベントを追加する
<script language = "JavaScript"
charset = "Shift_JIS"
src = "./jslb_event.js"></script>
<script language="JavaScript">
<!--
//クリック時に動作する関数
function forTest(){ alert('clicked!') }
//-->
</script>
<body onload="startEvent(getLayOjStr('test'),'click','forTest')">
<div id="test">test</div>
*/
//--------------------------------------------------------------------
//--イベント開始関数 function startEvent(ojNameStr,eventTypeNameStr,funcNameStr){ //n4,m1,n7,e4,e5,e6,o6,o7,s1,k3用 eval(ojNameStr+".on"+eventTypeNameStr+"="+ funcNameStr) //n4用 if(document.layers) eval(ojNameStr+".captureEvents(Event." +eventTypeNameStr.toUpperCase()+")") } //--イベント停止関数 function stopEvent(ojNameStr,eventNameStr){ //n4,m1,n7,e4,e5,e6,o6,07,s1,k3用 eval(ojNameStr+".on"+eventNameStr+" = null") //n4用 if(document.layers) eval(ojNameStr+".releaseEvents(Event." +eventNameStr.toUpperCase()+")") } //--対象オブジェクト名を取得 // (必ずonload後に実行すること) function getLayOjStr(idName){ if(document.getElementById) //e5,e6,n6,n7,m1,o6,o7,s1用 return "document.getElementById('"+idName+"')" else if(document.all) //e4用 return "document.all('"+idName+"')" else if(document.layers) //n4用 return "document.layers['"+idName+"']" }
//--------------------------------------------------------------------
まず、上記のスクリプトを jslb_event.jsという名前で 保存しておきます。
<script language = "JavaScript"
charset = "Shift_JIS"
src = "./jslb_event.js"></script>
charset = "Shift_JIS" の部分は jslb_event.js の文字コードをShift_JISで書いた場合の書き方で、 もしEUC-JPなら charset = "EUC-JP" 、UTF-8なら charset = "UTF-8" と書き換えてください。 人気Javascriptランキング
Powered by 価格.com
北欧好きが、愛用の北欧モノを見せ合うコミュニティ