強制的にイベントを引き起こす方法
以下のように、fireEvent(IE)やdispatchEvent(Firefox等)等を使うことができる。
document.getElementById("xxxx").fireEvent("onclick", event);
var event = document.createEvent("UIEvent"); //イベントの種類については、参考URL記載のDom3levelEvents等を参照。
event.initEvent("change",false,true);
document.getElementById('xxxxx').dispatchEvent(event);
オブジェクトの状態が変化した時にイベントを発生させる方法
onchange関数をうまく使い、以下のように書くことができる。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
window.onload = test2;
function test() {
document.getElementById('textarea').onchange(); //ボタンが押された時にも状態変化があったとしてtest2を呼び出す。
//onchange(引数)として、test2()関数のfunction(testparam)等と記載することで、
//変数の受け渡しも可能。
}
function test2() {
document.getElementById('textarea').onchange = function () {
alert('test2');
};
}
</script>
</head>
<body>
<input type="button" value="押して" onclick="test();"><br>
<textarea id="textarea">テキストエリアです。</textarea>
</html>
最終更新:2015年02月07日 22:41