2014-01-10 24 views
0

我使用WordPress的我的CMS,我用這個偉大的插件Advanced Custom Fields添加一些自定義字段到我的管理員。無法得到任何jQuery的火WordPress的管理員 - 沒有錯誤顯示

在我的管理,一切是偉大的工作,我現在用的是最新的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,如.hide.remove.remove),.remove.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

感謝

回答

1

您已經創建範圍,但有文檔準備好處理丟失:

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

是的謝謝你這個作品! – Joshc

+0

很高興這對你有所幫助。 – Jai

+0

你真的很有幫助。簡直不敢相信那樣抓住我。謝謝!!! – Joshc

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> 
+0

謝謝你這個問題,我首先測試它和我的腳本工作,但潔的回答工作和我想想也許我對functon doc感到困惑,準備好實際上並沒有準備好doc。無論如何,感謝您的幫助 – Joshc

相關問題