Ошибка tablednd и rm_script.js в WordPress - PullRequest
0 голосов
/ 22 июля 2011

У меня есть эта часть кода в моих функциях. Php:

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');

Все отлично работает. JavaScript-код rm_script работает нормально, за исключением того, что я получил это сообщение об ошибке в IE:

Объект не поддерживает это свойство или метод rm_script.js строка 290

в строке rm_script.js 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.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2012

Это, очевидно, проблема с загрузкой jquery. Исправлено!

0 голосов
/ 09 декабря 2011

Если вы получаете сообщение о том, что jQuery не поддерживает это свойство или метод, это означает, что код tableDnd не был загружен должным образом.

Первое, что нужно проверить, это то, что URL для jquery.tablednd.js является правильным в этом файле и фактически загружается (это можно сделать, скопировав относительный URL-адрес и вставив его в адресную строку IE - убедившись, что вы разрешите любые относительные пути).

Я был бы удивлен, если бы это не было проблемой.Если у вас все еще есть проблема, это только ограничено IE, или это затрагивает другие браузеры?Если вы используете FireFox (с FireBug) или Chrome и посмотрите на консоль, вы сможете более точно узнать, что происходит не так.

...