Skip to main content
Inspiring
October 29, 2020
Answered

Mouse wheel double click

  • October 29, 2020
  • 3 replies
  • 2181 views

Does anyone know of any widgets (for HTML5) that would listen for a mouse wheel double click? My limited javascript skills (i.e. copying other people's code examples) aren't working for me!

To explain, in the software we are recording a mouse wheel double click returns the application to a default zoom level. There is no button or other way to achieve the same thing in the software, so we'd like to find a way to simulate this task.

Thanks in advance!

    This topic has been closed for replies.
    Correct answer TLCMediaDesign

    This JavaScript will do the trick. Change yourelement name to the name of the Captivate element.

    var count = 0;
    var timeout;

    var myButton = document.getElementById("yourelementname")
    myButton.addEventListener("auxclick", captureMouseWheel, false);

    function captureMouseWheel( e )
    {
    if ( e.button == 1 )
    {
    count++;

    if ( !timeout )
    {
    timeout = setTimeout( function()
    {
    timeout = undefined;
    check();
    }, 250);
    }
    }
    else
    {
    count = 0;
    }
    }

    function check()
    {
    if ( count >= 2 )
    {
    //mousewheel doubleclicked
    }

    count = 0;
    }

    3 replies

    Participant
    November 7, 2022

    The mouse click on my computer hasn't been working properly for the past month. I'm testing my mouse for this website Macrotester. then I want to change

    TLCMediaDesign
    TLCMediaDesignCorrect answer
    Inspiring
    October 30, 2020

    This JavaScript will do the trick. Change yourelement name to the name of the Captivate element.

    var count = 0;
    var timeout;

    var myButton = document.getElementById("yourelementname")
    myButton.addEventListener("auxclick", captureMouseWheel, false);

    function captureMouseWheel( e )
    {
    if ( e.button == 1 )
    {
    count++;

    if ( !timeout )
    {
    timeout = setTimeout( function()
    {
    timeout = undefined;
    check();
    }, 250);
    }
    }
    else
    {
    count = 0;
    }
    }

    function check()
    {
    if ( count >= 2 )
    {
    //mousewheel doubleclicked
    }

    count = 0;
    }

    Inspiring
    November 4, 2020

    Thanks so much. That's very generous of you!

    RodWard
    Community Expert
    Community Expert
    October 29, 2020

    Normal Click Boxes in Captivate have the option for respoinding to a Double-Mouse Click.

     

    But if you want more flexibility and options for HTML5 then the CpExtra HTML5 widget is the only other solution I know of: https://infosemantics.com.au/about-cpextra/

    https://widgetking.github.io/cpextra/features/events-list.html#double-click

    https://widgetking.github.io/cpextra/features/events-list.html#double-click

    RodWard
    Community Expert
    Community Expert
    October 29, 2020

    However, please bear in mind that your situation is very different to a normal interaction.  Having to listen for a double click event on the mouse wheel (not a mouse button) might be next to impossible to achieve without custom coding.

    Inspiring
    October 30, 2020

    Thanks Rod. I do have your cpextra widget, but unfortunately the double click doesn't register for the mouse wheel. I'll keep fighting with my dodgy javascript and see if I can get there!