0

我有一个用于拖放的简单 jQuery 例程,我最近从 1.7.2 升级到 1.8.21,现在当我删除项目时,我收到错误消息“未捕获的类型错误:无法调用未定义的方法“搜索”

通过搜索找不到任何东西,所以我希望有人以前见过这个。

这是代码:

$("#frame").droppable({
    drop: function(ev, ui) {
        if (ui.helper.attr('id').search(/drag[0-9]/) != -1){
            counter++;
            var element=$(ui.draggable).clone();
            element.addClass("tempclass");
            $(this).append(element);
            $(".tempclass").attr("id","sig_"+counter);
            //$(this).css('z-index', 100+counter);
            $("#sig_"+counter).removeClass("tempclass");
            var x = event.pageX - $(this).offset().left + 4;
            var y = event.pageY - $(this).offset().top + 4;
            $(this).find("input").val(x+","+y);
            $("div#stop").text("STOP: \nLeft: "+ x + "\nTop: " + y);
            //Get the dynamically item id
            draggedNumber = ui.helper.attr('id').search(/drag([0-9])/)
            itemDragged = "dragged" + RegExp.$1
            //console.log(itemDragged)

            $("#sig_"+counter).addClass(itemDragged);
        }
    }
});

jQuery 版本:1.7.2 jQuery-UI 版本:1.8.21 浏览器:Chrome 20.0.1132

更新:我似乎找到了一些“有效”的东西,但我觉得它不合适,因为我正在使用一个预先存在的项目。(我尝试复制,但没有用。)我更改了两行,都包含相同的失败代码:

ui.helper.attr('id')

ui.draggable.attr('id')

我想这只会在我的特定情况下有效,并且可能也应该包含“可拖动”块,但它目前有效。

4

0 回答 0