Trigger mousemove event using Jquery or Javascript

前端 未结 3 1625
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-03 23:46

Hi I know we can trigger click event . but I want to know that can we trigger mousemove event without any actual mouse movement by user.

Description :

I want

3条回答
  •  情歌与酒
    2021-01-04 00:21

    A good native approach is to use dispatchEvent method on EventTarget.

    It dispatches an Event at the specified EventTarget, invoking the affected EventListeners in the appropriate order. The normal event processing rules (including the capturing and optional bubbling phase) also apply to events dispatched manually with dispatchEvent().

    Try

    // 1. Add an event listener first
    canvas.addEventListener('mousemove', tooltipDraw ,0);
    
    // 2. Trigger this event wherever you wish
    canvas.dispatchEvent(new Event('mousemove'));
    

    in your case it should trigger mousemove event on canvas element.

    (Triggering events in vanilla JavaScript article can be also useful):

    var elem = document.getElementById('elementId');
    
    elem.addEventListenter('mousemove', function() {
      // Mousemove event callback
    }, 0);
    
    var event = new Event('mousemove');  // (*)
    elem.dispatchEvent(event);
    
    // Line (*) is equivalent to:
    var event = new Event(
        'mousemove',
        { bubbles: false, cancelable: false });
    

    jQuery:

    Try this with jQuery trigger method:

     $('body').bind('mousemove',function(e){   
        // Mousemove event triggered!
    });
    $(function(){
        $('body').trigger('mousemove');
    });
    

    OR (if you need triggering with coords)

    event = $.Event('mousemove');
    
    // coordinates
    event.pageX = 100;
    event.pageY = 100; 
    
    // trigger event
    $(document).trigger(event);
    

    OR Try using .mousemove() jQuery method

提交回复
热议问题