onClick では、左クリックのみ対象ですが、右クリックが必要な場合は、 onMousedown を使うといいと思います。変数や関数は window オブジェクト に lbox20100211 というプロパティを作成して登録しています。保存される オブジェクトは、lbox20100211.cur にセットされます。
// window オブジェクトにグローバルな名前空間を作成
// ※ lbox20100211
window.lbox20100211 = {};
// クリック時のイベント
// lbox20100211.cur に最後にクリックされたフィールドを保存する
lbox20100211.clickEvent = function(e) {
var userAgent = window.navigator.userAgent.toLowerCase();
// クリックされたフィールドを保存
if (userAgent.indexOf("msie") > -1) {
window.lbox20100211.cur = window.event.srcElement;
}
else {
window.lbox20100211.cur = e.currentTarget;
}
}
// ページロード時のイベント
lbox20100211.registClickEvent = function() {
var userAgent = window.navigator.userAgent.toLowerCase();
var obj = document.getElementsByTagName("INPUT");
var len = obj.length;
var i,str;
// INPUT 要素を全て取得
for( i = 0; i < len; i++ ) {
// type が text のみ取得
str = obj[i].getAttribute( "type" )
if ( str == null ) {
str = "TEXT";
}
if ( str.toUpperCase() == "TEXT" ) {
if (userAgent.indexOf("msie") > -1) {
obj[i].attachEvent('onclick', lbox20100211.clickEvent);
}
else {
obj[i].addEventListener('click', lbox20100211.clickEvent, false);
}
}
}
}
// ページロードが終了した時に実行する処理を登録
if (window.attachEvent){
window.attachEvent('onload', lbox20100211.registClickEvent);
}
else {
window.addEventListener('load', lbox20100211.registClickEvent, false);
}
タグ:javascript
|
|
【JavaScript DOMの最新記事】
- IFRAME 内に外部の javascript を読み込んで画面を作成する / document.write での構築
- JavaScript : setTimeout の第一引数の正しい書き方。
- JavaScript でクリックの代替( 古くは dispatchEvent で呼び出し )、現在は jQuery の click() ではリンクの URL を開く事はでき無いので、$("セレクタ")..
- JavaScript : リンクから _blank で開いたページを JavaScript で閉じる場合の動作テスト
- JavaScript : ブラウザの表示を半透明で暗くする方法( scrollHeight で高さ決定 )
- JavaScript DOM と jQuery : エレメントの参照
- JavaScript : リンクのテキストの取得( Chrome、Firefox、IE / textContent、innerText、text、replace、jQuery )
- 動的に作成された IFRAME の キャラクタセットのブラウザ別の違い
- ローカル記憶域 : window.localStorage
- JavaScript : zIndex の最大値と思われる 0x7FFFFFFF を各ブラウザでテストしました
- JavaSctipt : ユーザ用(名前空間付き)イベント追加メソッドの作成
- JavaScript : クリックした要素の位置を計算して、近くにウインドウを開く






