无法在wordpress admin中触发任何jquery - 没有错误显示

时间:2014-01-10 12:53:08

标签: jquery wordpress advanced-custom-fields

我正在为我的cms使用wordpress,我使用这个很棒的插件Advanced Custom Fields将一些自定义字段添加到我的管理员中。

在我的管理员中,一切都运行良好,我使用的是最新的wordpress 3.8

好的,所以我只想添加一些jquery来与我的帖子管理员中的选择下拉列表进行交互。此选择下拉列表由ACF plugin生成。

ACF为您提供了一个简单的钩子,可以将脚本和css添加到管理面板的头部。 See hook documentation here

所以这就是......

// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
    ?>
    <style type="text/css">

        body { display: none !important }   

    </style>

    <script type="text/javascript">
    (function($){



    })(jQuery);
    </script>
    <?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');


以上工作正常。如果我查看来源,我可以看到上面的标记出现在我的<head>

好的,但如果我这样做......

// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
    ?>
    <style type="text/css">



    </style>

    <script type="text/javascript">
    (function($){

        $('body').empty();

    })(jQuery);
    </script>
    <?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');


我仍然可以在我的源代码<head>中看到此标记,但脚本未触发!!!

在consol中没有错误或警告,并且页面上需要脚本的所有内容都正常工作。

显然我不希望我的<body>被清空,我只是测试基本的API来实际启动脚本。

下面的脚本是我最初尝试过的脚本,但我认为这是脚本本身的一个问题,但是在意识到实际上它不存在问题后,我开始测试其他基本的jquery API,如{{1} },.hide等等,实际上没有任何东西开火!!!

.remove


如果有任何有关为什么会发生这种情况的见解,我会非常感激,因为它让我发疯:-P

由于

2 个答案:

答案 0 :(得分:1)

尝试使用jQuery的noConflict()

<script type="text/javascript">
var j = jQuery.noConflict();
j(document).ready(function($) {

    j("#acf-field-weather_data_weather").on('change', 'select', function() {
        alert( "Handler for .change() called." );
    });

});
</script>

答案 1 :(得分:1)

您已创建范围,但缺少doc ready处理程序:

(function($){
  $(function(){  //<------this is the doc ready
     $('body').empty();
  });
})(jQuery);