shipshapecode/tether

[iOS] click delay on mobile devices with content in iframe

Sebsta13 opened this issue · 1 comments

Hi,

I found a weird issue while using tether in combination with content in iFrames.

If you have clickable content in iFrames and are using an iPhone, the click event don't trigger because the binding of the touchmove event:

if (typeof window !== 'undefined' && typeof window.addEventListener !== 'undefined') {
    ['resize', 'scroll', 'touchmove'].forEach(function (event) {
      window.addEventListener(event, tick);
    });
  }

You need to hold at least 250ms on the button to execute the event because of this:

if (typeof lastDuration !== 'undefined' && lastDuration > 16) {
      // We voluntarily throttle ourselves if we can't manage 60fps
      lastDuration = Math.min(lastDuration - 16, 250);

      // Just in case this is the last event, remember to position just once more
      pendingTimeout = setTimeout(tick, 250); // this is the problem
      return;
    }

Could someone please look into this?

Best regards

@Strean1337 is this still an issue?