HTML5 touch event with createjs.Touch, getting double events.

Participant ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

My code uses the stagemousedown and stagemousemove events along with other events such as buttons.

I have code to allow createJS to handle touch events:


// Enable touch events on this stage

        createjs.Touch.enable(stage, false, true);

 

//   Don't let the stage to automatically prevent default touch events

        stage.preventSelection = false;

 

  //    And to prevent default events in the stagemousedown I have 

      event.nativeEvent.preventDefault();

My problem is now any buttons have a double event, (click is fired twice when I press a button).

 

TOPICS
Code, How to

Views

49

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct Answer

Adobe Community Professional , Mar 12, 2021 Mar 12, 2021
what does that mean?  you can't play part of a frame.   either the frame containing your handler executes more than once or it does not.  and if the frame executes more than once, you need to prevent re-execution of the listener. eg,   if(!alreadyExecuted){ alreadyExecuted=true; yourwhatever.addEventListener("touchlistener",f); }

Likes

translate

Translate

Translate
Adobe Community Professional ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

is the code executed twice?  ie, the frame containing the code plays twice?

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

Not the entire frame, no.

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Community Professional ,
Mar 12, 2021 Mar 12, 2021

Copy link to clipboard

Copied

what does that mean?  you can't play part of a frame.

 

either the frame containing your handler executes more than once or it does not.  and if the frame executes more than once, you need to prevent re-execution of the listener. eg,

 

if(!alreadyExecuted){

alreadyExecuted=true;

yourwhatever.addEventListener("touchlistener",f);

}

Likes

translate

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines