我正在构建一个使用Cordova/PhoneGap和JQuery Mobile的应用程序。
我想在应用程序中使用JQuery,但我无法让它工作-即使使用简单的代码,也不会发生任何事情。
我相信我的标题设置正确:
<script type="text/javascript" src="cordova-2.7.0.js"></script>
<script type="text/javascript" src="js/jquery.min.1.9.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="js/myscripts.js"></script>
<script type="text/javascript">
app.initialize();
</script>
当我看到JQuery移动风格的标题和后退按钮等时。
但是当我尝试一些简单的事情时,比如:
document.addEventListener("deviceready", function(){
$('p').append("<strong>HEllO</strong>");
});
在MyScript中。我什么都没有得到。我是否需要以不同的方式触发JQuery?有人能给我指出正确的方向吗?
编辑:
我找到了这个,上面提到把它放在div中。这实际上对我有用,例如
<div class="normal" data-role="page" data-title="Program">
<script type="text/javascript">
$(".normal").on('pageinit', function() {
$('p').append("<strong>HEllO</strong>");
});
</script>
但肯定有更好的方法吗?必须有一种方法将这些脚本都放在自己的外部文件中?
PS:我的HTML是:
<body>
<div data-role="page" data-title="Program">
<div id="programholder">
<div data-role="header">
<a href="index.html" data-role="button" data-rel="back" data-direction="reverse" data-icon="arrow-l" data-iconpos="left">Back</a>
<h1>HEADER</h1>
</div><!--HEADER-->
<div data-role="content">
<p>
Append here
</p>
</div><!--CONTENT-->
</div><!--HOLDER-->
</div><!--PAGE-->
</body>
要了解问题,您必须了解jQuery Mobile的工作原理。它使用ajax加载其他页面。
首页正常加载。它的头部和身体被加载到DOM中,它们在那里等待其他内容。加载第二个页面时,只有其正文内容加载到DOM中。
因此,如果您想为每个页面分离js文件,您需要从正文中初始化它们,因为HEAD将被丢弃。
这样地:
<body>
<script>
// Your javascript will go here
</script>
// And rest of your HTML content
</body>
链接和样式标记也是如此。
如果您想了解更多信息,请阅读我的另一篇文章,并附上与此主题相关的示例:为什么我必须将所有脚本编入索引。jquery mobile中的html
其他事情,在使用jQuery Mobile时,永远不要使用这种初始化:
document.addEventListener("deviceready", function(){
$('p').append("<strong>HEllO</strong>");
});
您也不应该使用经典的jQuery document ready。它们中的Bot通常会在页面成功加载到DOM之前触发。这就是jQuery Mobile有页面evenets的原因。您使用pageinit事件是正确的,但您使用了错误的方式。jQuery移动页面事件的绑定方式如下:
$(document).on('pageinit', ".normal",function() {
$('p').append("<strong>HEllO</strong>");
});
如果您想了解更多信息,请阅读我关于文档就绪与页面事件差异的其他答案:jQuery Mobile:文档就绪与页面事件
我目前正在开发一个SpringBootJAR库,用于可重用的组件,比如 ldap 电子邮件 与apache kafka消息 其余api用法 我们公司的每个Java用户/程序员都应该能够把这个罐子放在一个项目中(通过maven或其他方式),并使用可重用的组件,而不是一遍又一遍地编码所有的东西。 在REST之上为该问题构建微服务不是我们的选择。 我的问题是: 我可以在任何普通Java项目中重用这个Sp
在一个多模块的Android项目中,我有一个其他Android库和应用程序依赖的普通Java项目。我最近将整个项目迁移到使用Gradle构建。 我在运行纯Java项目的junit测试时遇到了一个问题,仅在Android Studio中。在命令行上,测试运行正常: 这将按预期执行单元测试,如果我插入一个作为健全性检查,我将正确地获得预期的失败。 但是,我无法在Android Studio中运行单元测
问题内容: 我正在使用已下载的WCF jQuery AJAX呼叫示例。我可以运行它并使它在同一项目中工作。当我从同一解决方案中的不同项目访问同一项目时,它什么也不做。以下是我正在调用的方法。 我在成功和失败方法中有alert()。 当我直接在浏览器中运行URL时,它将返回我结果。但是,如果我从其他项目中运行它,它什么也没做。没有警报,没有结果。 以下是我的服务正在运行的项目的Web.Config;
项目中总是有很多图标,一般情况下都是切成很小的图片,但是有多个颜色就不好处理了,这时候字体图标就很有优势了,能够像修改文字那样修改图标的大小和颜色,而且还不会失真变模糊,简直是简化前端开发的一大工具。 如果想要直接使用它们自带的官方图标,选择我们想要的图标之后,点击右下角的 Generate Font F 这时会看到我们已经选择的图标,在这里可以修改名称等,然后点击右下角的下载,解压文件,可以查看
info Lavas Basic 模板并不包含此功能 在项目中有两种使用图标的方式,可以同时使用: 使用 material 字体文件 引入自定义的 SVG 文件 字体文件 material 图标能够满足大部分应用场景: 我们已经引入了 material 字体文件和所需样式表,直接使用 vuetify 中 Icons 组件即可,基本方法如下: <v-icon>home</v-icon> 更多使用方