2011-07-22 45 views
0

我有這部分代碼在我的functions.php:tablednd和rm_script.js錯誤在WordPress

function cc_admin_enqueue_scripts($hook) { 
    $file_dir=get_bloginfo('template_directory'); 
    wp_enqueue_script('media-upload'); 
    wp_enqueue_script('thickbox'); 
    wp_enqueue_script('farbtastic'); 
    wp_register_script('my-upload', $file_dir."/functions/scripts/rm_script.js",array('jquery','media-upload','thickbox','farbtastic')); 
    wp_enqueue_script('my-upload'); 
    wp_enqueue_script('tablednd', $file_dir.'/functions/scripts/jquery.tablednd.js', array('jquery'), '0.5'); 
    wp_enqueue_script('jquery-ui-tabs'); 
    wp_enqueue_script('jquery-ui-sortable'); 
    wp_enqueue_script('jquery-ui-droppable'); 
    wp_enqueue_script('jquery-ui-draggable'); 
} 
add_action('admin_enqueue_scripts', 'cc_admin_enqueue_scripts'); 

,一切工作正常。除了我在IE瀏覽器這個錯誤的通知JavaScript的作品確定,rm_script:

對象不支持在rm_script.js行此屬性或方法rm_script.js線290

290:

(這是線290開始:)

jQuery(".table_sort").tableDnD({ 
    onDragClass: "myDragClass", 
    onDrop: function(table, row) { 
    var $multitable_wrap = jQuery('.table_sort .multitable'); 
    $multitable_wrap.each(function(i) { 
    var $current_sub_table = jQuery(this); 
    $current_sub_table.find('.correct_num').each(function(){ 
    var $newname = jQuery(this).attr('name').replace(/\d+/,i); 
    jQuery(this).attr({'name': $newname,'id': $newname}); 
     });});}, 
    onDragStart: function(table, row) { } 
}); 

jQuery的( 「table_sort」)。tableDnD是我得到一個錯誤的來源。如果我刪除它,它工作得很好,但我需要它來支持我的JavaScript功能。 我已經聲明瞭jquery.tablednd.js,但不知何故.tableDnD函數無法加載。

回答

0

這顯然是一個jQuery的加載問題。 固定!

0

如果你得到一個錯誤,說jQuery不支持這個屬性或方法,這意味着tableDnd代碼沒有被正確加載。

首先要檢查的是,jquery.tablednd.js的URL在這個文件中是正確的,並且實際上被加載(你可以通過複製相對URL並將其粘貼到IE的地址欄中來實現 - 確保你允許任何相對路徑)。

如果那不是問題,我會感到驚訝。如果您仍然遇到問題,是否僅限於IE瀏覽器,還是會影響其他瀏覽器?如果您使用FireFox(使用FireBug)或Chrome並查看控制檯,則可能會更精確地找出問題所在。