- 613 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 22:41:43.25 ID:k24nyzXR.net]
- >>607
> DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、 > つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた) 逆です。Javaではe.currentTargetを使い、thisは使えません。 (当時の)Javaでは言語仕様上の制限でイベントハンドラとして関数を使用することはできません。 イベントハンドラはオブジェクトである必要があります。 イベントハンドラ自体がオブジェクトであるため、thisはイベントハンドラオブジェクトになります。 そのためJavaでthisは使えません。 また昔のIEはaddEventListnerがなくattachEventを使いますが。 attachEventの場合thisはwindowでありe.currentTargetではありません。 つまり初期のIEのDOM APIはもちろんJavaでも使えますが event.srcElement(e.currentTarget相当)しか実装されてないということです。 thisがe.currentTargetなのはJavaScriptのために作られた仕様です。
|

|