Что ж, за несколько дней исследований функций JS мне удалось обнаружить события касаний в веб-представлении.Предложение, которое вы можете проверить в java-консоли web.whatsapp.com, выглядит следующим образом:
function handleStart(evt) {
evt.preventDefault();
console.log('touchstart');
}
elements=document.getElementsByClassName('NAME');
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener("touchstart", handleStart, false);
}
evt.preventDefault();
предотвращает выполнение потока касания, поэтому, если вы хотите, чтобы он работал, простозакомментируйте эту строку.
С помощью этих функций вы можете обрабатывать начало касания, конец касания, перемещение касания и многое другое ...
Другое дело, если вы хотите выполнить это предложение в WkWbViewв iOS вам просто нужно вызвать функцию JS следующим образом:
jsString = @"function handleStart(evt) {evt.preventDefault();console.log('touchstart.');} \
elements=document.getElementsByClassName('NAME'); \
for (var i = 0; i < elements.length; i++) { \
elements[i].addEventListener('touchstart', handleStart, false); \
}";
[self callJS:jsString];
И функция callJS должна будет вызвать это:
[_wkWebView evaluateJavaScript:jsString completionHandler:^(id response, NSError *error) {
if (error)
NSLog(@"%@", error.description);
}];
И вЕсли вы хотите «прочитать» щелчок по ячейке левого столбца, не связываясь с другими событиями, вы можете обработать касание с событием щелчка следующим образом:
elements=document.getElementsByClassName('NAME');
for (var i = 0; i < elements.length; i++) {
elements[i].addEventListener('click', 'console.log('click')', false);
}
Надеюсь, это поможет!