【问题标题】:Phonegap jquery mobile link to external page and the DOM navigationPhonegap jquery 移动链接到外部页面和 DOM 导航
【发布时间】:2013-07-16 20:24:27
【问题描述】:

当您使用 Phonegap 和 Jquery Mobile 时,您需要使用完整路径识别外部链接,例如 'http://mywebsite.com/register.html'。我认为即便如此,这个页面仍然会根据 jquery 移动文档添加到 DOM 中

'默认情况下,当您单击指向外部页面(例如 products.html)的链接时,框架将解析该链接的 href 以制定 Ajax 请求(Hijax)并显示加载微调器。'

我的问题是,当 register.html 页面被加载(恰好是一个表单)时,当我单击该表单中的提交按钮时,我的 jquery 代码捕获它似乎永远不会触发。

$('#registerForm').live("submit", function() { 
alert("here ");
event.preventDefault();
 });

我已经尝试将它包含在各种事件中(在 pageInit、pageshow 等)中,但它似乎永远无法捕捉到它。它在浏览器中运行良好。

我不确定外部页面是否在 DOM 中(我不确定如何判断),或者我没有使用正确的 事件(页面显示等)来捕捉它。哪个是合适的活动?
如果表单是 index.html 中的内部页面,我可以毫无问题地捕获提交。任何帮助,将不胜感激。

【问题讨论】:

  • 外部链接在外部浏览器或“inappbrowser”中加载?
  • 不使用 phonegap 时,这不被视为外部链接。你说的是phonegap吗?因此需要以不同的方式处理它。如果每次链接到从您自己的服务器加载的页面时,它会弹出到外部浏览器,您如何在应用中保持一致的流程?

标签: jquery mobile cordova hyperlink external


【解决方案1】:

您可以将rel="external" 属性添加到您的链接标签。

添加这将使您的register.html 加载脚本等作为普通页面。

现在我真的看不到你的代码,但如果你还没有尝试过,我建议你这样做。

哦.. 还有一件事.. jQuery live() 在 jQuery 的较新版本中被删除

【讨论】:

  • 忘了说我的 js 都在 index.html 中引用的一个 js 文件中,而 register.html 中没有,所以我认为 rel=external 不会解决任何问题......但我会给试一试。是的,感谢 .live 提示(我知道它已被弃用,但我目前仍在使用 jquery 1.7)。
猜你喜欢
  • 2012-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-06
  • 2014-05-16
  • 1970-01-01
相关资源
最近更新 更多