いちおうIEにも対応。
フォームのボタンだけでなく、 <a href="boo.html" id="foo" onclick="woo();"></a> みたいなアンカータグにも使えてありがたい。 (Firefoxだと使えないっていう人がいたけどもしかしてonclick記述じゃダメでイベント登録ではOKとかそういうことなんだろうか…?)
function myclick(id){
// 強制的にイベントを呼び出す
var elm = document.getElementById(id);
if(elm.fireEvent){ // for IE
elm.fireEvent("onclick");
}else{ // for Firefox, Chrome, Safari
var evt = document.createEvent("MouseEvents");
evt.initEvent("click", false, true);
elm.dispatchEvent(evt);
}
}
White Tigers 2010.7 で使った。
Ref. JavaScriptの動かないコード (中級編) clickイベントを強制的に発生させたい (fireEvent/createEventの使い方) - 主に言語とシステム開発に関して
tags: JavaScript zurazure
Posted by NI-Lab. (@nilab)