当前位置: 首页 > 知识库问答 >
问题:

jQuery mobile中的JavaScript不工作,除非我刷新

龙俊英
2023-03-14

我有一个jQuery移动页面,里面有JavaScript。问题是,除非刷新页面,否则JavaScript无法工作。这是我的代码

jQuery(function($) {
    var url = window.location.search.substring(1);
    $('#mydiv').load('real_news.asp?' + url);
});

共有3个答案

沈凯康
2023-03-14

像这样尝试pageinit

$(document).delegate("body", "pageinit", function() { // Use body or page wrapper id / class
    var url = window.location.search.substring(1);
    $('#mydiv').load('real_news.asp?' + url);
});
慕学海
2023-03-14

你的问题中并没有太多的指针和提示,所以我将用我看到它时立即浮现在脑海中的东西。

由于jQuery Mobile的“hijax”方法“Ajaxification”所有链接,Document ready不会在页面更改时启动。试试这个。。。

$(document).on("pageshow", function() {
    var url = window.location.search.substring(1);
    $('#mydiv').load('real_news.asp?' + url);
});
田阳泽
2023-03-14

要了解这个问题,您需要了解jQuery Mobile的工作原理。

第一个问题是您试图初始化JavaScript的位置。从您之前的回答中,我可以看到您正在使用几个HTML/ASP页面,并且所有javascript都是从页面初始化的<代码>

这是因为当前加载的页面有一个

我不会在这里尝试发明温水,所以这里有我讨论这个问题的其他两个答案的链接。在那里可以找到几种解决方案:

>

  • 为什么我要把所有的脚本index.html在jQuery mobile中(或者在这篇博客文章中)

    除非刷新,否则链接无法工作

    那里有更多足够的信息让你知道该怎么做。

    这个问题的基本解决方案是:

    1. 将所有JavaScript放入第一个HTML/ASP文件中
    2. 将JavaScript移动到<代码>

    正如Archer指出的,您应该使用页面事件来初始化您的代码。但让我告诉您更多关于这个问题的信息。与经典的普通网页不同,使用jQuery Mobile时,准备好的文档通常会在页面在DOM中完全加载/增强之前触发。

    这就是创建页面事件的原因。有几种方法,但如果您希望代码只执行一次(如在文档就绪的情况下),则应使用pageinit事件。在任何其他情况下,请使用pagebeforeshow或pageshow。

    如果您想了解更多关于页面事件的信息,以及为什么应该使用页面事件而不是文档就绪,请查看我个人博客上的这篇文章。或者在这里找到它。

  •  类似资料:
    • 我目前正在使用JQuery mobile开发一个移动网站。我在我的foobar中使用了多个页面。html导航,如下所示: 我加载foobar。html文件,单击Go to Bar,即可正常工作;然而,当我从索引导航时。hmtl到foobar。html并再次测试,链接无法工作。刷新页面可以解决此问题。 如何解释这种行为以及如何修复它?

    • 我有一个jquery移动页面,里面有JavaScript。问题是,除非刷新页面,否则JavaScript无法工作。这是我的代码:

    • 我一直在研究的一个函数有一个问题。这个函数的目的是取两组文本输入框中的日期,计算两者之间的差异,然后将该天数放入第三组框中。我的函数如下所示。 变量在开头引用的三个数组只包含我希望访问的表单元素的名称。我已经用一个警告框测试了start、end和out变量,如果代码中没有Show Difference注释下的行,循环运行良好。我也检查了所有的名字,确保他们都匹配。此外,我已经手动运行页面八次(有八

    • 我想要一个带有滑动手势的RecyclerView来触发一个动作,比如将滑动的项目标记为收藏夹。是否可以使用ItemTouchHelper但在滑动后禁用视图删除?一个常见的模式是滑动来显示某个按钮,但这不是想要的行为。

    • 我使用的是Spring Boot v2。5.2微服务并尝试动态刷新endpoint。我正在使用Spring Cloud API Gateway并实现了安全性,现在当我http://localhost:8012/actuator/busrefresh,我看到只有Spring Cloud API gateway反映了这些变化,但其他微服务没有。 我们如何修复它? Spring Cloud API网关

    • 问题内容: 我有两列DateTime类型。第一个在进程启动时存储DateTime,另一个在该进程完成时存储DateTime。我想计算完成工作所需的总工作时间。工作时间是上午10点至晚上7点,周日不营业。 以下是我简要介绍的一些摘录: 和, 请帮忙。 对于您提到的上述解决方案,这就是结果! 问题答案: 如果我理解正确,则要计算开始日期和结束日期之间的时差,不包括上午10点之前和下午7点之后的时间。