LAJAXS
 
HOME
LAJAXS
JSON
カレンダーコントロール
Homepage
Blog
 

Last Update: 2005/12/07
イベントハンドラの修正およびドキュメントの更新。

 

LAJAXS (Lepton's library for AJAX and AJAS)

 ごく小さな、非同期データ通信とイベントハンドリング用のライブラリです。
お勉強用と言う事で公開しておきます。

Ver. 0.2 : Lajaxs.js (source)

オンラインドキュメントの目次

Licence

Public Domain に置きたいのですが、日本ではそういう訳には行かないので、次の様にします。
◆公表権:誰でも、いつでも、どこにでも公表する事を許可します。
◆氏名表示権:表示する必要はありません。もし表示する場合は、
「Copyright (C) 2005 Takashi Oyama All Rights Reserved.」
を表示してください。
◆同一性保持権:全ての改変、変更、切除を認めます。
ただし元著作物と同一で無いものを公表し、かつ氏名表示を行う場合は、
「Modified by [you name] in [publish year]
の表示を加えてください。[you name]:改変した人の氏名、[publish year]:公表した年
 
オンラインドキュメントの目次へ

Name Space

大域名前空間に「Lajaxs」と言う名前の、オブジェクトが作られます。このライブラリの全ての要素は、このオブジェクト内に存在します。
 
symbol type description
Lajaxs Object Library Name Space
String version
Lajaxs.BrowserInfo Object Browser Information
Lajaxs.EventHandler Class Event Handler
Lajaxs.HttpConnection Class Http Connection
     
オンラインドキュメントの目次へ

Lajaxs.BrowserInfo

ブラウザ情報を格納する Object
Property
public String Type ブラウザの種類
ie InternetExplorer
kon Konquer
moz Mozilla
ns NetScape
op Opera
saf Safari
public String Version ブラウザのバージョン
public String Os ブラウザの実行環境
win Microsoft Windows
mac Apple MacOS/Safari
x11 Any Linux/Unix
Method
private void identity()
arguments  
return  
description ブラウザを認識する
Remarks 
あまりクロスブラウザには熱心でないので、もう少し簡略化するかも....
オンラインドキュメントの目次へ

Lajaxs.EventHandler

イベントハンドラ Class
Constructor
Lajaxs.EventHandler(Object handler [, Object arg1 [, Object arg2 [, ...]]])
arguments handler 処理をする方法。次の3通りの方法で定義可能。
inline string EventHandler("alert('this is an inline string handler')")
inline function EventHandler(function(){alert('this is an inline function handler')})
function pointer function AnyFunction() {
  alert('this is an function pointer handler');
}
EventHandler(AnyFunction)
arg1,... 処理をする時に渡したいパラメータ。
description handler で指定されるハンドラに制御が渡った場合、
・this は Lajaxs.EventHandler オブジェクトを指しています。
・関数の第一引数(argument[0])には、イベントを発生させた window や DOM のオブジェクトが格納されています。
・コンストラクタで指定した追加のパラメータは、this.p[0] = arg1, this.p[1] = arg2, ... に格納されています。
Property
private String/Function f ユーザ定義のコールバック関数、もしくは実行文字列
protected Array p イベントハンドラを定義した時の追加の引数の配列。
private Numeric i イベントプールでの識別子
全てのイベントはイベント配列(Lajaxs.EventPool)に格納される。この識別子によって、このイベントがどこに配置されているかを識別する。
Method
private void callback(Object caller_object)
arguments caller_object イベントを発生させたオブジェクト
return  
description 設定された関数もしくは実行文字列を実行します。
private void assign(Object eobj,String ename)
arguments eobj イベントを発生させるオブジェクト
ename イベントの名前('onclick' 等)
return  
description マルチイベント(一回のイベントで複数のイベントハンドラを呼び出す)を設定します。
注:実装用のメソッドなので使わない事。
public void add(Object eobj,String ename)
arguments eobj イベントを発生させるオブジェクト
ename イベントの名前('onclick' 等)
return  
description マルチイベント(一回のイベントで複数のイベントハンドラを呼び出す)を追加します。
マルチイベントは DOM オブジェクトにしか設定できません。
private Function bind()
arguments
return 関数ポインタ。
description 関数ポインタを要求するイベントに設定するシングルイベント(一回のイベントで一つのイベントハンドラを呼び出す)用の関数を作成します。
public Numeric setInterval(Numeric Interval [, String Language] )
arguments Interval イベントが発生する時間間隔(ms)
Language  
return タイマー識別子
description このイベントハンドラを定期的に実行する様に設定します。
public void clearInterval(Numeric TimerID)
arguments TimerID タイマー識別子
return  
description 定期実行を停止します。
public Numeric setTimeout(Numeric Interval [, String Language] )
arguments Interval イベントが発生する時間間隔(ms)
Language  
return タイマー識別子
description このイベントハンドラを指定時間後に一回実行する様に設定します。
public void clearTimeout(Numeric TimerID)
arguments TimerID タイマー識別子
return  
description 実行をキャンセルします。
 
Example
var obj1 = {
  ObjectFunction:function() {
    for (i in p) {
      alert("obj1 p["+i+"]="+this.p[i]);
    }
  }
};
var handler1 = new Lajaxs.EventHandler("alert('inline string handler');"); // Inline sting handler
var handler2 = new Lajaxs.EventHandler(function(){alert('inline function handler');}); // Inline function handler
var handler3 = new Lajaxs.EventHandler(obj1.ObjectFunction,obj1,1,"2",document); // Function pointer handler

// 1. To DOM event
// single event
document.all.button1.onclick = handler1.bind(); // ボタン1を押すと handler1 が実行される。
document.all.button2.onclick = handler2.bind(); // ボタン2を押すと handler2 が実行される。
document.all.button3.onclick = handler3.bind(); // ボタン3を押すと handler3 が実行される。

// multiple event (ボタン4を押すと handler1/handler2/handler3 が順番に実行される)
handler1.add(document.all.button4,"onclick");
handler2.add(document.all.button4,"onclick");
handler3.add(document.all.button4,"onclick");

// 2. timer event(1秒後に handler1、2秒後に handler2, 3秒後に handler3 が実行される)
handler1.setTimeout(1000);
handler2.setTimeout(2000);
handler3.setTimeout(3000);
 
オンラインドキュメントの目次へ

Lajaxs.HttpConnection

HTTP 通信 Class
Constructor
Lajaxs.HttpConnection(String url [, String user [, String password]])
arguments
url 接続先のURL。クエリパラメータは含まない。
user 接続時のユーザ名
password 接続時のパスワード
description  
Property
private Object server 接続オブジェクトの実体
private String url 接続先のURL。クエリパラメータは含まない。
private String user 接続時のユーザ名
private String password 接続時のパスワード
private Bool unique 同一URLでアクセスする場合、ブラウザによってはキャッシュから持ってきていまう為、リクエストの度にURLをユニークにする(=true)かしない(=false)かを指定する。
private Bool async 非同期(=true)か、同期(=false)かを指定する。
private Numeric timeout 要求したデータが到達するまでの時間を制限する(=ms単位の時間)か、無期限に待つか(=0)を指定する。
private Numeric timeout_id タイムアウト時間を設定した場合のタイマーID。
Method
Under Construction
Remarks
Under Construction
オンラインドキュメントの目次へ
HOME | LAJAXS | JSON | カレンダーコントロール
Copyright (C) 2005 Takashi Oyama All Rights Reserved.