我有一个用于拖放的简单jQuery例程,我最近从1.7.2升级到1.8.21,现在当我删除项目时,我收到错误消息'Uncaught TypeError:无法调用方法'搜索'未定义“
无法通过搜索找到任何内容,所以我希望有人之前见过这个。
以下是代码:
$("#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')
我认为这只适用于我的具体情况,并且可能应该也包含'draggable'块,但它现在可以使用。