WordPress jQuery仅在刷新后触发

时间:2016-09-13 08:19:45

标签: php jquery wordpress

我正在尝试加载我的CSS异步所以我所做的是以下所有css样式我将它们加载为public class Test { public static class A { public A() { this.init(); } void init() { System.out.println("Called in A"); } } public static class B extends A { @Override void init() { System.out.println("Called in B"); } } public static class C extends B { @Override void init() { System.out.println("Called in C"); } } public static void main(String[] args) { new A(); // should "Called in A" printed new B(); // should "Called in B" printed new C(); // should "Called in C" printed } } 并且一旦页面加载我使用jQuery将attr值更改为{{1} }。

我不断得到的问题,我似乎无法解决的问题是,这仅在刷新页面后才有效。在第一次加载时,我得到的是media = none

此外,当我导航到下一页时,我需要再次刷新以启动jQuery。

我在word press工作,所以这就是我正在做的事情:

的functions.php

media = all

在我的 jQuery脚本中我有:

Uncaught ReferenceError: jQuery is not defined

同样你可以告诉我有function wpic_theme_js(){ wp_deregister_script('jquery'); wp_deregister_script('jquery-migrate'); wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js', array(), '', false); wp_enqueue_script('jquery'); wp_enqueue_script('app_js', get_template_directory_uri() . '/js/app.min.js', array('jquery'), '', true); } add_action('wp_enqueue_scripts', 'wpic_theme_js'); jquery-migrate,原因与我jQuery(document).ready(function($){ jQuery('link[media="none"]').each(function(){ jQuery(this).attr('media', 'all'); }); 错误相同。

如果有人为此提供解决方案,我将不胜感激。

由于

PS> 我在这里取得了一些进展,我注意到jQuery没有完全加载。看起来像jQuery库和我的app.js文件几乎完全同时加载。所以当它触发jQuery时还没有定义..

网址:http://iamcavic.com/

我让它上班但我现在有一个闪烁:(

1 个答案:

答案 0 :(得分:0)

嗯,这显然是错误的做法。 WordPress中的所有jQuery操作都需要通过admin-ajax.php传输和触发。

这个名称有点误导,但是这个文件负责对后端/ theme /执行ajax请求。

一个谷歌搜索: https://codex.wordpress.org/AJAX_in_Plugins