Aricwithana / LCARS-SDK

A development kit and environment umbrella designed specifically for creating a functional implementation of the LCARS methodology
Other
206 stars 68 forks source link

"click" doesn't work on Android Chrome Browser #6

Closed Digicrat closed 8 years ago

Digicrat commented 8 years ago

I registered a few buttons with custom handlers using the "click" attribute. This works fine from my desktop, but fails on the phone (Android Chrome).

After a few false leads (I also see warnings of "target-densitydpi is not supported" and "touchstart input event was delayed ... Consider markign event handler as passive"), I've found and tentatively fixed the issue.

In lcarssdk.js, the click handler (around line 248) registration is conditional on '"webviewInfo.input !== "touch"' If I comment out this condition, then everything works as expected.

The same check exists in several other handlers as well and looks to be part of larger touchscreen support that I suspect is deprecated by recent jquery library versions (the 'click' event works for taps/touches, whether it's from a phone or touchscreen laptop, and is still distinct from other touch gestures).

Aricwithana commented 8 years ago

The setup at the moment checks to see if there is mouse or touch input. What you do is add both a click and touch event to the elements definition. If it is touch then it only will assign the touch events. If it is mouse, then only mouse.

It would be nice if the webview dev teams would properly segment their events and not use click as touch.