使用jQuery Mobile的

问题描述:

开业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代码,但这是一个问题,我的链接是动态的生成,我不能在标题属性中的网址。

任何想法如何解决这个问题?

看起来你需要从传播也停止:

.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