我使用jsplumb对列模板进行了匹配,我使用了拖放功能。 所有浏览器都能正常工作。 但是当我在平板浏览器上运行相同的程序时,。 我阅读了他们建议使用touchpunch的论坛。 我也用过,但当我点击圆圈与另一列匹配时,它不会移动。 请指出错误在哪里。 我使用的代码Fragment是:
main.jsfunction display()
{
var questiontxt = xmlDoc.getElementsByTagName("questionTxt")[0].childNodes[0].nodeValue;
$("#topmain").html(questiontxt);
fitemid= x[0].getElementsByTagName("item").length;
ftargetid= x[0].getElementsByTagName("target").length;
$("#listitem").append('
');connections = [];
jsPlumb.importDefaults({
ConnectionsDetachable:true,
ReattachConnections:true
});
updateConnections = function(conn, remove) {
connections.push(conn);
hideConnectionInfo(connections[0].sourceId);
};
window.jsPlumbDemo = {
init : function() {
var exampleDropOptions = {
tolerance:"touch",
hoverClass:"dropHover",
activeClass:"dragActive"
};
var color2 ="#FFF";
var color3 ="#09F";
var exampleEndpoint2 = {
tolerance:"touch",
hoverClass:"dropHover",
activeClass:"dragActive",
endpoint:["Dot", { radius:15 }],
paintStyle:{ fillStyle:color3 },
isSource:true,
scope:"green dot",
connectorStyle:{ strokeStyle:color3, lineWidth:2 },
maxConnections:1,
connector:"Straight",
isTarget:false
};
var exampleEndpoint3 = {
endpoint:["Dot", { radius:15}],
paintStyle:{ fillStyle:color3 },
isSource:false,
scope:"green dot",
connectorStyle:{ strokeStyle:color3, lineWidth:2 },
maxConnections:1,
connector:"Straight",
isTarget:true,
beforeDrop:function(params) {
var v=(params.sourceId).substring(6,(params.sourceId).length);
var w=(params.targetId).substring(12,(params.targetId).length);
if(v == w){
document.getElementById('ans'+w).innerHTML+="";
count++;
c = xmlDoc.getElementsByTagName("item").length;
if(count == c){
feedback();
alert(window.parent)
window.parent.updateResult(100)
}
return confirm();
dropOptions : exampleDropOptions
}
}
};
jsPlumb.bind("connection", function(info, originalEvent) {
updateConnections(info.connection);
});
jsPlumb.bind("connectionDetached", function(info, originalEvent) {
updateConnections(info.connection, true);
});
function Shuffle(o) {
for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
var testArray = new Array();
var testArray1 = new Array();
for(i=0 ; i
testArray.push(i);
}
Shuffle(testArray);
for(i=0 ; i
testArray1.push(i);
}
Shuffle(testArray1);
for(i=0 ; i
{
fitem[i] = x[0].getElementsByTagName("item")[testArray1[i]].childNodes[0].nodeValue;
ftarget[i] = x[0].getElementsByTagName("target")[testArray[i]].childNodes[0].nodeValue;
j = x[0].getElementsByTagName("item")[testArray1[i]].getAttribute("target");
l = x[0].getElementsByTagName("target")[testArray[i]].getAttribute("id");
$("#list").append("
"+fitem[i]+" "+ftarget[i]+"");var e1 = jsPlumb.addEndpoint("circle"+j, { anchor:[1, 0.5, 1, 1 ] }, exampleEndpoint2);
var e2 = jsPlumb.addEndpoint("circletarget"+l, { anchor:[ 0, 0.5, 1, 1 ] }, exampleEndpoint3);
jsPlumb.draggable($("#circle"+j,"#circletarget"+l));
}
}
};
jsPlumbDemo.init();
}
index.html