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



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

在我的管理中,一切都很好,我正在使用最新的wordpress 3.8

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

ACF为您提供了一个简单的挂钩,可以将脚本和css添加到管理面板的头部。请参阅此处的挂钩文档。

现在是…

// 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>中看到这个标记,但脚本没有启动!!!

控制台中没有错误或警告,页面上需要脚本的一切都正常工作。

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

下面的脚本是我最初尝试的脚本,但我认为这是脚本本身的问题,但在意识到它实际上不可能有问题后,我开始测试其他基本的jquery API,如.hide.remove等,但实际上什么都没有激发!!!

// WEATHER DATA ICON
function hrc_weather_type_field_icon()
{
?>
<style type="text/css">
/* ... */
</style>
<script type="text/javascript">
(function($){
$("#acf-field-weather_data_weather").on('change', 'select', function() {
alert( "Handler for .change() called." );
});
})(jQuery);
</script>
<?php
}
add_action('acf/input/admin_head', 'hrc_weather_type_field_icon');


如果有人知道为什么会发生这种情况,我会非常感激,因为这让我疯了:-p

感谢

您已经创建了作用域,但缺少文档就绪处理程序:

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

尝试使用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>

最新更新