Открытие всех внешних ссылок в ChildBrowser от Phongap с помощью jQuery Mobile - PullRequest
2 голосов
/ 24 февраля 2011

Я использую jQuery Mobile & Phonegap, и у меня есть следующий код для открытия всех внешних ссылок в определенном div с помощью ChildBrowser:

$('.someDIV a').live('click', function() { 
    var thisUrl = $(this).attr('href'); 
    PhoneGap.exec("ChildBrowserCommand.showWebPage", thisUrl); 
    return false; 
}); 

По какой-то причине, пока страница загружается в childbrowser, она также загружается в фоновом режиме, как будто нет «return false».

Я нашел обходной путь, задав атрибуту ссылки href значение «#» и использовав заголовок для URL-адреса следующим образом: И соответственно обновив код jQuery, но это проблема, когда мои ссылки генерируются динамически и у меня не может быть URL в атрибуте заголовка.

Есть идеи, как это решить?

1 Ответ

1 голос
/ 24 февраля 2011

Похоже, вам нужно остановить его распространение:

.live

.bind('click', function(e) { 
e.stopImmediatePropagation();
...
})

http://api.jquery.com/event.stopImmediatePropagation/

[править]

Выше не было шансов работать. Я скопировал первую строку ... Извините

Вы должны использовать .bind, чтобы иметь возможность переопределить действие ссылки по умолчанию.

Я вообще не использую .live() и предлагаю не использовать его, если есть способ сделать то же самое с bind. .live() немного волшебно и иногда имеет последствия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...