JScript

IE8- の Node#cloneNode はイベントまでコピーする

DOM2 規定の cloneNode() DOM Level 2 Core で規定されている Node#cloneNode は「すべての属性と値をコピーします」が、参照は新しく形成されます。 つまり、<p onclick="alert('click');"> のようにHTMLに埋め込んであるイベントはコピーしますが、addEventListener 等で形成されたイベ</p>…

CSSStyleDeclaration#setProperty と CSSStyleDeclaration#removeProperty

概要 IE8 で未定義の CSSStyleDeclaration#setProperty, CSSStyleDeclaration#removeProperty を IE8 で使えるようにしてみようという試みです。 /** * インラインスタイルを定義する */ element.style.backgroundColor = '#fee'; // CSSOM 規定 element.sty…

IE8- は名前付き関数式を関数宣言としても扱う

ECMAScript の 名前付き関数式 ECMAScript には「名前付き関数式」があり、変数に関数式を代入するときに名前をつけることが出来ます。 var hoge = function foo () { alert(foo); // function foo() { ... } alert(foo === hoge); // true }; ここでは "foo…

ActiveXObjectとスクリプトエンジン間の循環参照によるメモリリーク

IE6 SP2- の ActiveXObject 周りのメモリリーク問題はあまり知られていないような気がしたので、簡単にまとめておきます。 jQuery や prototype.js では以下の方法で回避しています。 /** * メモリリークを回避する方法 (jQuery および prototype.js 方式) *…

Opera の attachEvent は addEventListener のエイリアスだと思う

think49 think49Opera の attachEvent は addEventListener のエイリアスっぽいなあ。実行順が保証される上に { handleEvent: ... } まで通る。#JavaScript3月26日 1:37 AM think49 think49event.target === event.srcElement, event.currentTarget === this…

compatible-event.js 制作記録

think49 think49イベントリスナについて教えてください - Yahoo!知恵袋 http://goo.gl/0s5bu / attachEvent で実行順を保証したいらしいが、これは難問。handleEvent をキャッシュする必要があると思う…。 #JScript3月23日 5:43 PM think49 think49@think49 …