Override Touch Events of CCMenu in Cocos2d-JS

Hi, Im having very hard time overriding touch events of cc.Menu.
Could someone help me?

I would like to override onTouchBegan, onTouchEnded, onTouchMoved, and onTouchCancelled methods of cc.Menu.
I am using Cocos2d-JS v3.0 right now.

I tried to extend cc.Menu and override them, but realize that those methods are not prepared for JS.
Is there anyway I can override them from JS?

Or if is impossible, how is everyone implementing drag & drop kind of stuff using cocos2d-js?

Hi,
I have little confusion on your question. What is the purpose of overriding cc.Menu?
Do you want to drag menu button?

How is everyone implementing drag & drop kind of stuff using cocos2d-js: Normally we will add touch event listener to node and inside touch event we will handle drag functionality.

Thank you for your reply.

I wanted to make a puzzle, with series of buttons lining up.
I know the menuItemImage is selected when user tap it, and I wanted to keep it as ‘selected’ while the user touching the screen (until onTouchEnded occur.)

However, by the default setting of cc.Menu, the MenuItem is deselected when the touch position is no longer in the touch-starting-MenuItem.
So thats why I wanted to override touch events of Menu.

Actually, I kind of solved this problem by extending Layer (as like Menu) and Sprite (as like MenuItemImage), like what you said:

How is everyone implementing drag & drop kind of stuff using cocos2d-js: Normally we will add touch event listener to node and inside touch event we will handle drag functionality.

I thought we were supposed to extend cc.Menu for any Button-like Node…