IEだけ使えるメソッドですが、FireEventというメソッドがあります。オブジェクトに指定されたイベントを実行します。
FireEventの引数には、onclickなどを文字列として書きます。戻り値はbooleanを返しますが、Chromeではundefinedとなります。
そのため、IE用に記述するために以下のように書きます。
if(obj.fireEvent){
// IE用
}else{
// その他ブラウザ用
}
以下、サンプルです。IEの場合マウスオーバーすると、ボタンのイベントを実行します。その他のブラウザでは何も起こりません。
マウスオーバーしなくても、ボタンを押すとイベントを実行します。
ここをマウスオーバーしてください
以下、ソースです。
<script type="text/javascript">
function fnFireEvents(){
oDiv.innerText = "マウスオーバーしました";
if(oButton.fireEvent){
oButton.fireEvent("onclick");
}else{
}
}
function a(){
alert("クリックしました");
}
</script>
<div id="oDiv" onmouseover="fnFireEvents();">ここをマウスオーバーしてください</div>
<input type="button" id="oButton" value="ボタン" onclick="a();" />
参考サイトです。