Проблема с таргетингом на объекты с помощью stringByEvaluatingJavaScriptFromString

#jquery #objective-c

#jquery #objective-c

Вопрос:

У меня есть карусель jQuery, управляемая двумя изображениями (правое изображение и левое изображение). Скрипт carousel сам обрабатывает событие для изображений, чтобы повернуть карусель при нажатии.

Недавно клиент попросил меня перенести веб-сайт в приложение, дешево. Поэтому я использовал UIWebView, который просто загружает веб-сайт.

Я добавил к нему несколько расширений, чтобы улучшить его и сделать более подходящим для отображения в приложении. Одним из этих расширений является добавление жеста салфетки для управления каруселью.

На данный момент это мой скрипт:

 - (void) handleSwipeGesture:(UISwipeGestureRecognizer*)swipe{
    NSString *scriptInject;
    if (swipe.direction == UISwipeGestureRecognizerDirectionRight) {
        scriptInject = @"alert('Right');$('#right-but').click();";
    } else if (swipe.direction == UISwipeGestureRecognizerDirectionLeft) {
        scriptInject = @"alert('Left');$('#left-but').click();";
    }
    [webView stringByEvaluatingJavaScriptFromString:scriptInject];
}
  

Это обрабатывает мои два жеста. Я хочу, чтобы свайп вправо просто запускал правую кнопку для переключения карусели, я получаю alert('Right') , но не получаю эффекта от щелчка. Будет ли это jQuery? Можете ли вы добавить jQuery в stringByEvaluatingJavaScriptFromString ?

Я пытался $('#right-but').trigger('click');

Вот мой HTML-код для этих кнопок:

 <div id="nav">
    <a id="right-but"><img src="img/navbtn.png" align="left" style="z-index:94"/></a>
    <a id="left-but"><img src="img/navbtn.png" align="right" style="z-index:94"/></a>
</div>
  

Ответ №1:

Я просмотрел файл Jquery Carousel и обнаружил, что для управления нажатиями кнопок к объекту привязано событие наведения курсора мыши, в отличие от события щелчка.

 $('#right-but').trigger('mouseup');
  

Исправлено.