gpt4 book ai didi

javascript - 内联 Javascript block 未初始化

转载 作者:行者123 更新时间:2023-12-02 19:03:36 25 4
gpt4 key购买 nike

在 jQuery 页面上,我有一个登录表单。代码很简单:

<form method="post">
<div data-role="fieldcontain">
.... Form here
</div>
</form>

但是提交了以下表单,JQM 通过 Ajax POST 加载下一页。

问题是该新页面上的任何内联 Javasctipt 都未初始化。我不是在谈论 $(document) 元素等。整个内联 Javascript block 未初始化。

但是如果我添加

data-ajax="false"

对于表单标签,一切都很好。页面已正确加载并初始化。

为什么会发生这种情况,有没有办法用ajax加载的内容触发页面初始化?

我在 Firefox 和 Android Webview 客户端上都观察到了这一点。

最佳答案

在您的情况下起作用的原因 data-ajax="false" 是因为它将强制整个页面重新加载,这会偶然触发页面标记增强。

这是 jQuery Mobile 文档的一部分:

It's important to note if you are linking from a mobile page that was loaded via Ajax to a page that contains multiple internal pages, you need to add a rel="external" or data-ajax="false" to the link. This tells the framework to do a full page reload to clear out the Ajax hash in the URL.

现在,根据您的情况,如果您想增强新页面内容,请使用以下内容:

$('#pageID').trigger('create');

或者如果您还对页眉和页脚进行了更改,请使用以下命令:

$('#pageID').trigger('pagecreate');

如果您想要更好的轻描淡写,请查看我的博客 ARTICLE ,我正在详细讨论页面内容标记增强。在那里您将找到上面提到的函数的示例。还可以找到HERE

关于javascript - 内联 Javascript block 未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com