Есть ли способ программно инициировать onmouseover
событие в плоскости JavaScript? или "извлеките" метод из onmouseover
событие для вызова его непосредственно?
например,
<div id="bottom-div" onmouseover="myFunction('some param specific to bottom-div');">
<div id="top-div" onmouseover="????????"></div>
</div>
главное отделение выше нижнего отделения, таким образом, onmouseover
не будет запущен в нижнее отделение, которое мне нужен способ назвать myFunction('some param specific to bottom-div');
от главного отделения
Это сработало для меня, по крайней мере, в IE9. Должна быть совместима с несколькими браузерами или близка к ней ...
function FireEvent( ElementId, EventName )
{
if( document.getElementById(ElementId) != null )
{
if( document.getElementById( ElementId ).fireEvent )
{
document.getElementById( ElementId ).fireEvent( 'on' + EventName );
}
else
{
var evObj = document.createEvent( 'Events' );
evObj.initEvent( EventName, true, false );
document.getElementById( ElementId ).dispatchEvent( evObj );
}
}
}
Для примера onmouseover, вызовите такую функцию
FireEvent( ElementId, "mouseover" );
Мне нужно было сделать что-то подобное, но я использую jQuery, и я нашел, что это лучшее решение:
Используйте функцию триггера jQuery.
$j('#top-div' ).trigger( 'mouseenter' );
Вы также можете добавить параметры к нему, если вам нужно. См. документацию jQuery для .trigger .