Здравствуйте.
Подскажите кто знает по реализации кросбраузерного искусственного события. Нежеследующий код не работает в Firefox. Не работает по причине того, что Firefox (и IE) не выполняют действия "по умолчанию" для искусственных событий типа "click". Хотя в Firefox метод dispatchEvent возвращает true. Как победить эту беду?
<head>
<meta charset="utf-8" />
<title>test</title>
<style type="text/css">
div { position: absolute; width: 200px; height: 20px; border: 1px solid red; }
input { visibility: hidden; }
</style>
</head>
<body>
<div>
<input type="file" />
</div>
<script type="text/javascript">
document.getElementsByTagName("div").item(0).onclick = function ()
{
if (this.dispatchEvent)
{
var e = document.createEvent("MouseEvents");
e.initMouseEvent("click", false, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
this.getElementsByTagName("input").item(0).dispatchEvent(e);
}
}
</script>
</body>