2012-03-12 9 views
1

だから我々はすべてあなたがJavaScriptがかなり単にオブジェクトを作成することができます知っている:JavaScriptのオブジェクトとDOM

:私たちは、その後1は、例えば除く外となる標準的な技術を使用してDOMを操作するためにJavaScript以内にそのオブジェクトを使用することができます

var myObject = new Object() ; 
myObject.attribute = someValue ; 
myObject.doSomething = someFunction ; 

document.getEmelemntByID("some ID").someAttribute = myObject.attribute; 

これはJavaScriptの機能を使用してDOMを照会していくつかの要素を見つけ、属性を設定します。 JavaScriptをベースにしたjQueryやその他のツールでも同じことができます。

一つは、などのonClick、のonChange、などのDOMが提供する様々な方法のいずれかでJavaScript関数を呼び出すことができるなど

だから私の質問は1つが、実際に、DOM内のJavaScriptオブジェクトを持っていない方法ですドローメソッドをクリックメソッドなどと言うと、これはDOMがdrawメソッドを実行してDOMキャンバス上に何かをレンダリングし、次にクリックまたはダブルクリックでそのオブジェクトに特有のメソッドを呼び出します。

+0

短い答えは:できません。 –

答えて

1

DOM内に独自のタイプのオブジェクトを作成したり、javascriptで新しいブラウザレベルのイベントを作成することはできません。ブラウザDOMがすでにサポートしているオブジェクトの種類の1つを作成し、それらのオブジェクトがサポートするイベントを使用する必要があります。ネイティブコードを使用して、Adobe Flashなどのブラウザプラグインを作成することができますが、これはあなたが尋ねていることのいくつかを行いますが、javascriptで実装されていないためダウンロードが必要なため、 。

ただし、<div>のような汎用オブジェクトを使用して、任意の方法でクリックイベントに応答することができます。 divにはクリックや描画のデフォルト動作がないため、DOM内の単なるプレースホルダです。次に、独自のオブジェクトを埋め込んだり、プロパティを設定したりして、必要な視覚的な外観を作成できます。また、さまざまなイベント(クリック、キーなど)を処理して、望ましい動作をさせることができます。だから、<div>のような一般的なオブジェクトをあなた自身のオブジェクトの外観や動作を構築できる足場と考えることができます。

DOMオブジェクトの周りにjavascriptラッパーを置く方法さえあるので、そのオブジェクトとのやりとりのほとんどは、実際のDOMオブジェクト(jQueryとYUIの両方)の代わりにjavascriptオブジェクトであるように見えます。しかし、その下に、それはまだそれの周りに独自のjavascriptラッパーを持つ実際のDOMオブジェクトです。

1

DOMツリーは、Javascriptオブジェクト、特にさまざまな種類の要素オブジェクトで構成されています。他のオブジェクトをDOMツリーに入れることはできません。

DOM要素は、メソッドではなくカスタマイズ可能なアクションにイベントを使用します。たとえば、クリックイベントは、ユーザーが要素をクリックするとアクティブになります。イベントのイベントハンドラとしてメソッドをフックし、そのメソッドがイベントがアクティブになったときに呼び出されます。

関連する問題