Вот подход, который вам поможет.
1) Получить все элементы в документе
2) Добавить пользовательский прослушиватель событий для каждого шага
3) Отслеживание касания с прослушивателем событий
Вот пример кода, как я это сделал в одном из моих аддонов Chrome.
this.AddEventListeners = function()
{
var document = window.document;
var elements = this.GetAllElements(document.body);
for (var i = 0; i < elements.length; i++) {
// not sure if it's onTouchEvent event or something else (update the event accordingly in the below line)
elements[i].addEventListener("onTouchEvent", customTapEvent, false);
}
this.haveEventListeners = true;
}
Метод GetAllElements:
this.GetAllElements = function(element)
{
var elements = new Array();
if (element && element.hasChildNodes()) {
elements.push(element);
var childs = element.childNodes;
for (var i = 0; i < childs.length; i++) {
if (childs[i].hasChildNodes()) {
elements = elements.concat(this.GetAllElements(childs[i]));
}
else if (childs[i].nodeType == 1) {
elements.push(childs[i]);
}
}
}
return elements;
}
Запишите логику в методе customTapEvent
.