VML と HTML が緊密に統合されているため、VML にイベントを簡単に追加できます。 HTML 内のすべてのイベントは VML に適用できます。次の例はデモンストレーションです。マウスが円に移動すると、円もマウスと一緒に移動します。マウスをクリックすると、円の移動が停止します。
onmouseover="move()" fillcolor=red />
<script><br>var canmove=false;<br>function move()<br>{<br> Circle.style.position="absolute";<br> canmove=true;<br> document.onmousemove =new Function("<font color="red">if(canmove){circle.style.posLeft=event.x;circle.style.posTop=event.y;}</font>");<br>}<br>document.onclick =new Function("canmove=false");<br></script>
お気づきかと思いますが、VML のイベント領域は厳密に独自の形状に従っており、すべてが写真のような長方形ではありません。さて、Function オブジェクトを紹介します。関数の内容が比較的小さく、一度だけ呼び出される場合は、Function オブジェクトを使用して作成する方法があります。関数オブジェクトであり、パラメータは関数の内容です。イベントを制御するより良い方法は、グローバル変数を使用することです。イベントの実行はグローバル変数に依存し、別のイベントでこのグローバル変数を設定できます。