Search code examples
javascriptfirefoxeventstouchpreventdefault

Stopping bubbling event in Firefox


I'm trying to handle touch/mouse events. So, I created this code:

myObject.addEventListener("touchstart", function(e){
    e.stopPropagation();
    e.preventDefault(); 
    console.log("Touched"); 
    mouseTouchDown(e);
}); 
myObject.addEventListener("mousedown", function(e){
    console.log("Clicked"); 
    mouseTouchDown(e);
}); 
function mouseTouchDown(e){
console.log("Some function.");};

I want to stop bubbling of touch event, so click won't be fired afterwards. It works on Chrome, but on Firefox I get in console:

Touched
Clicked

How can I stop mouse click firing after touch event?

I tried returning false, but it doesn't work.


Solution

  • Have u attached both events with same element?

    If that is the case the error is not because of bubbling happening.while mouse click several events will happen like mousedown, touchstart ..etc.so if you want to avoid mouse click event occuring add preventDefault() in the mouse down.This will disable default mouse click event happening on that element.