2011-02-24 53 views
2

開業Phongap的ChildBrowser所有外部鏈接我使用jQuery Mobile的&的PhoneGap,並具有下列代碼來打開所有的外部鏈接在一定的分度,ChildBrowser:使用jQuery Mobile的

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

出於某種原因,而頁面加載在子瀏覽器中時,它也會在後臺加載,就好像沒有「返回false」一樣。

我發現一個解決方法是給鏈接的href屬性的值爲「#」,並使用標題爲這樣的url:並相應地更新jQuery代碼,但這是一個問題,我的鏈接是動態的生成,我不能在標題屬性中的網址。

任何想法如何解決這個問題?

回答

1

看起來你需要從傳播也停止:

.live

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

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

[編輯]

以上沒有工作的機會。我複製了第一行...對不起

您必須使用.bind才能覆蓋默認的鏈接操作。

我一般不使用.live(),我建議不要使用它,如果有辦法對bind進行相同的操作。 .live()是有點神奇,它有時會產生後果。

+0

好像不是。 event.preventDefault()也不起作用。 – 2011-02-24 17:12:23

+0

對不起,我的壞。編輯。不要在不需要它的地方使用'.live'。 – naugtur 2011-02-24 20:21:59

+0

謝謝你。使用'.bind()'似乎根本不起作用。即使是'alert();'也不會在我使用它的時候觸發(它使用'live()'時會觸發...... – 2011-02-25 09:55:54