Skip to main content
PATurmel12
Inspiring
March 12, 2021
Answered

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

  • March 12, 2021
  • 1 reply
  • 740 views

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).

 

This topic has been closed for replies.
Correct answer kglad

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

}

1 reply

kglad
Community Expert
Community Expert
March 12, 2021

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

PATurmel12
Inspiring
March 12, 2021

Not the entire frame, no.

kglad
Community Expert
kgladCommunity ExpertCorrect answer
Community Expert
March 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);

}