在webOS上使用PhoneGap的jQTouch

时间:2010-06-10 23:17:40

标签: jquery webos jqtouch cordova

我正在写一个我希望在iOS,Android和webOS上运行的PhoneGap应用程序。 jQTouch适用于iOS和Android上的所有内容,但不适用于webOS。

由于webOS Mojo框架is based on Prototype(使用$变量),因此必须在noConflict模式下使用jQuery。我可以处理那么多。

然而,问题是我还想使用jQTouch插件。 jqtouch.js文件始终使用$,导致加载该文件时出现JavaScript错误。

有没有办法在我的PhoneGap应用程序中运行jQTouch插件(或任何插件)而不会干扰原型?

2 个答案:

答案 0 :(得分:6)

你应该能够将它包装在一个闭包中并传入jQuery。例如:

(function($){
   alert($);
}("Hello"))

(function($){
   $("foo"); // uses the jQuery rather than $
}(jQuery))

答案 1 :(得分:3)

实际上你可以摆脱prototyper所以没有冲突。从他们的一个编程指南中读到这个:

Mojo是大多数webOS应用程序构建的标准JavaScript框架。但是,如果您没有使用其中的任何功能,那么它只是耗费您的启动时间。您只需在index.html页面顶部注释掉脚本标记即可阻止加载Mojo。

- > 然而,Mojo做了我们需要的一件事。它告诉窗口管理器应用程序何时完全加载并准备就绪。我们可以使用简单的onLoad事件处理程序手动完成此操作。将以下脚本添加到index.html页面的开头:

  function onLoad(){     if(window.PalmSystem){         window.PalmSystem.stageReady();     } }

然后在正文的onload事件中添加一个调用。

而已!现在,应用程序将在没有Mojo的情况下加载,并且启动速度更快。