0

我的functions.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');

一切正常。rm_script javascript 工作正常,除了我在 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 函数。

4

2 回答 2

0

如果你得到一个错误说 jQuery 不支持这个属性或方法,这意味着 tableDnd 代码没有被正确加载。

首先要检查的是 jquery.tablednd.js 的 URL 在此文件中是否正确并且实际正在加载(您可以通过复制相对 URL 并将其粘贴到 IE 的地址栏中来做到这一点 - 确保您允许任何相对路径)。

如果这不是问题,我会感到惊讶。如果还是有问题,是仅限于IE,还是影响其他浏览器?如果您使用 FireFox(带有 FireBug)或 Chrome 并查看控制台,您可能能够更准确地找出问题所在。

于 2011-12-09T16:00:25.113 回答
0

这显然是一个 jquery 加载问题。固定的!

于 2012-04-06T19:12:03.180 回答