Не могу полностью понять Ваш вопрос, tap
- это всего лишь имя, т. Е. Вы можете называть его «singletouch» или как хотите. Возможно, вам просто нужно найти эту кнопку внутри iframe
и добавить к ней eventListener
.
В любом случае, если вы включите JQM в свой iframe
, tap
будет распознан JQM как последовательность событий касания в пределах 750 мс на одной цели.
Вот минимальная заглушка для эмуляции JQM tap
:
function raiseTap(target) {
// just only one touch in list is enough
var tcs = Array(new Touch({
identifier: Date.now(),
target: target,
clientX: 0,
clientY: 0
}));
// emulate a bubbling JQM tap
// if needed, add touchmove inbetween
var events = ["touchstart", "touchend"],
params = {touches: tcs, bubbles: true, changedTouches: tcs};
for(var i=0, l=events.length; i<l; i++) {
target.dispatchEvent(new TouchEvent(events[i], params));
}
}
// find the target
var iframe = document.getElementById("iframe"),
doc = iframe.contentDocument || iframe.contentWindow.document,
btn = doc.getElementById("button");
raiseTap(btn);