使用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()
是有点神奇,它有时会产生后果。
好像不是。 event.preventDefault()也不起作用。 – 2011-02-24 17:12:23
对不起,我的坏。编辑。不要在不需要它的地方使用'.live'。 – naugtur 2011-02-24 20:21:59
谢谢你。使用'.bind()'似乎根本不起作用。即使是'alert();'也不会在我使用它的时候触发(它使用'live()'时会触发...... – 2011-02-25 09:55:54