我正在用PhoneGap编写一个我想要在iOS、安卓和webOS上运行的应用程序。jQTouch在iOS和安卓系统上的表现都很好,但webOS并非如此。
由于webOS Mojo框架is based on Prototype (使用$
变量),因此有必要在noConflict模式下使用jQuery。我能应付这么多。
然而,问题是我也想使用jQTouch插件。jqtouch.js
文件始终使用$
,因此在加载该文件时会导致JavaScript错误。
有没有一种方法可以在我的PhoneGap应用程序中运行jQTouch插件(或其他插件)而不影响原型?
发布于 2010-06-11 07:50:24
您应该能够将其包装在闭包中并传入jQuery。例如:
(function($){
alert($);
}("Hello"))
(function($){
$("foo"); // uses the jQuery rather than $
}(jQuery))
发布于 2011-01-02 23:06:38
实际上,你可以去掉prototyper,这样就没有冲突了。阅读他们的编程指南中的一篇文章:
Mojo是构建大多数webOS应用程序所使用的标准JavaScript框架。然而,如果你没有使用其中的任何功能,那么它只会耗费你的启动时间。只需注释掉index.html页面顶部的脚本标记,就可以防止加载Mojo。
--> Mojo做了一件我们需要做的事情。当应用程序完全加载并准备就绪时,它会通知窗口管理器。我们可以使用一个简单的onLoad事件处理程序手动完成此操作。将以下脚本添加到index.html页面的头部:
function onLoad() { if (window.PalmSystem) { window.PalmSystem.stageReady(); } }
然后在body的onload事件中添加一个调用。
就这样!现在,应用程序将在没有Mojo的情况下加载,并且启动速度更快。
https://stackoverflow.com/questions/3019216
复制相似问题