所以我尝试使用本页示例中的代码:
http://www.prodevtips.com/2008/11/12/jquery-ui-draggable-and-resizable-combination/
用文本区域制作有点相同的框 - 可调整大小 - 可拖动 - 带有角落中的图标。
它在电脑上效果很好。但在平板电脑上,我似乎无法聚焦文本区域——我仍然可以移动它并调整它的大小(尽管调整它的大小就像垃圾一样)——我使用的是 jquery.ui.touch-punch。
我什至无法以编程方式关注它:(
这是我的代码:
function newCommon(tpl_id, sub_tag) {
$("div[id*='el_div_']").css("position", "absolute"); // 1
var newDraggable = $("#" + tpl_id).clone().css("zIndex", elCount + 100).attr("id", "el_div_" + elCount)
.addClass("resizable ui-resizable").prependTo("#workarea"); // 2
newDraggable.find(".delete").click(function () {
$(this).parent().remove(); // 3
});
var dragger = newDraggable.find(".dragger"); // 4
dragger.bind('touchstart mousedown', function () { newDraggable.draggable({ containment: "#workarea" }); });
dragger.bind('mouseend', function () { newDraggable.draggable("disable"); });
elCount++;
return newDraggable;
}
var types = {
input: function (pos) {
var draggable = newCommon("txt_div_tpl", "textarea");
draggable.addClass("ui-dragdrop-droppableElement ui-dragdrop-toolboxElement ui-dragdrop-textElement useDefault");
draggable.css({
"top": pos.y,
"left": pos.x
});
//draggable.click(function () {
// console.log("clicked!");
// console.log(input.ID.toString() + "ID");
// CKEDITOR.replace("como");
//});
draggable.resizable({
handles: "all",
minWidth: 160,
minHeight: 160,
ghost: true,
stop: function () {
$(this).stayInBox($("#workarea"));
var margin = $(this).find(".dragger").width() * 2;
$(this).find("textarea").width($(this).width() - margin).height($(this).height() - margin);
}
});
return draggable;
},
任何想法可能是什么问题?