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

Недавно клиент попросил меня дешево перенести веб-сайт в приложение. Поэтому я использовал 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>
0
Dan Hanly 7 Апр 2011 в 19:08

1 ответ

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

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

Исправлена.

0
Dan Hanly 8 Апр 2011 в 12:18