Trigger onmouseover event programmatically in JavaScript

前端 未结 8 694
庸人自扰
庸人自扰 2020-11-27 18:58

Is there a way to programmatically trigger the onmouseover event in plain JavaScript? or \"extract\" the method from the onmouseover event to call

8条回答
  •  不知归路
    2020-11-27 19:28

    This worked for me in IE9 at least. Should be cross-browser compatible or close to it...

    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 );
            }
        }
    }
    

    For onmouseover example, call the function like this

    FireEvent( ElementId, "mouseover" );
    

提交回复
热议问题