Jquery 从其他web浏览器拖动图像后图像未更改

Jquery 从其他web浏览器拖动图像后图像未更改,jquery,dhtml,Jquery,Dhtml,我试图点击并拖动一张照片或图片,并将其放置在小猫图片上,但没有改变,而是将我重定向到图片的链接。我怎样才能解决这个问题?代码应该允许图像更改,而不是将我重定向到链接 <!DOCTYPE html> <html> <head> <title>Drag and Drop</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jque

我试图点击并拖动一张照片或图片,并将其放置在小猫图片上,但没有改变,而是将我重定向到图片的链接。我怎样才能解决这个问题?代码应该允许图像更改,而不是将我重定向到链接

<!DOCTYPE html>
<html>
<head>
    <title>Drag and Drop</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script>

    function dragStart(jQueryEvent) {
        // Store URL
        var dataTransfer = document.getElementsByTagName('img');
        jQueryEvent.dataTransfer.setData('Text', dataTransfer);
        // photo being dragged and dropped  with <img> tag and set the photo. 
    }
    function dragOver() {
        return false;   // Indicates that the element can be dropped onto
    }
    function drop(jQueryEvent) {
        // Update image and text box
        jQueryEvent.preventDefault();
        var dataTransfer = jQueryEvent.originalEvent.dataTransfer;
        document.getElementsByTagName('img').innerHTML = jQueryEvent.dataTransfer.getData('Text');     
    }

</script>
</head>
<body>
    <input type="text" style="width: 300px" value="http://placekitten.com/320/240" /><br />
    <img src="http://placekitten.com/320/240" style="border: 1px solid grey; min-width: 50px; min-height: 50px; display: inline-block;" />
</body>
</html>

拖放
函数dragStart(jQueryEvent){
//存储URL
var dataTransfer=document.getElementsByTagName('img');
jQueryEvent.dataTransfer.setData('Text',dataTransfer);
//照片被拖拽和丢弃

使用
src
属性,而不是
innerHTML

$("img")[0].src = jQueryEvent.dataTransfer.getData('Text');
dragDrop={
关键字HTML:“”,
keySpeed:10,//每个按键事件的像素数
initialMouseX:未定义,
initialMouseY:未定义,
startX:未定义,
斯塔蒂:未定义,
dXKeys:未定义,
dYKeys:未定义,
draggedObject:未定义,
initElement:函数(元素){
if(元素类型=='string')
元素=document.getElementById(元素);
element.onmousedown=dragDrop.startDragMouse;
element.innerHTML+=dragDrop.keyHTML;
var links=element.getElementsByTagName('a');
var lastLink=links[links.length-1];
lastLink.relatedElement=元素;
lastLink.onclick=dragDrop.startDragKeys;
},
StartFragmouse:函数(e){
dragDrop.startDrag(本);
var evt=e | | window.event;
dragDrop.initialMouseX=evt.clientX;
dragDrop.initialMouseY=evt.clientY;
addEventSimple(文件,'mousemove',dragDrop.dragMouse);
添加了简单(文档,'mouseup',dragDrop.release元素);
返回false;
},
startDragKeys:函数(){
dragDrop.startDrag(此.relatedElement);
dragDrop.dXKeys=dragDrop.dYKeys=0;
添加简单(文件,'keydown',dragDrop.dragKeys);
addEventSimple(文档,'keypress',dragDrop.switchKeyEvents);
这个。blur();
返回false;
},
startDrag:功能(obj){
if(dragDrop.DragedObject)
dragDrop.releaseElement();
dragDrop.startX=obj.offsetLeft;
dragDrop.startY=obj.offsetTop;
dragDrop.draggedObject=obj;
obj.className+=“已拖动”;
},
拖曳室:功能(e){
var evt=e | | window.event;
var dX=evt.clientX-dragDrop.initialMouseX;
var dY=evt.clientY-dragDrop.initialMouseY;
牵引力设置位置(dX,dY);
返回false;
},
德拉基:函数(e){
var evt=e | | window.event;
var key=evt.keyCode;
开关(钥匙){
案例37://左
判例63234:
dragDrop.dXKeys-=dragDrop.keys速度;
打破
案例38://以上
判例63232:
dragDrop.dYKeys-=dragDrop.keys速度;
打破
案例39://对
判例63235:
dragDrop.dXKeys+=dragDrop.keys速度;
打破
案例40://向下
判例63233:
dragDrop.dYKeys+=dragDrop.keys速度;
打破
案例13://输入
案例27://逃跑
dragDrop.releaseElement();
返回false;
违约:
返回true;
}
dragDrop.setPosition(dragDrop.dXKeys、dragDrop.dYKeys);
如果(evt.preventDefault)
evt.preventDefault();
返回false;
},
设置位置:功能(dx,dy){
dragDrop.draggedObject.style.left=dragDrop.startX+dx+‘px’;
dragDrop.draggedObject.style.top=dragDrop.startY+dy+'px';
},
switchKeyEvents:函数(){
//歌剧和狩猎1.3版
removeEventSimple(文档,'keydown',dragDrop.dragKeys);
removeEventSimple(文档,'keypress',dragDrop.switchKeyEvents);
添加简单(文件,'keypress',dragDrop.dragKeys);
},
releaselement:function(){
removeEventSimple(文档,'mousemove',dragDrop.dragMouse);
removeEventSimple(文档,'mouseup',dragDrop.releaseElement);
removeEventSimple(文档,'keypress',dragDrop.dragKeys);
removeEventSimple(文档,'keypress',dragDrop.switchKeyEvents);
removeEventSimple(文档,'keydown',dragDrop.dragKeys);
dragDrop.draggedObject.className=dragDrop.draggedObject.className.replace(/dragged/,“”);
dragDrop.draggedObject=null;
}

}
使用
src
属性,而不是
innerHTML

$("img")[0].src = jQueryEvent.dataTransfer.getData('Text');
dragDrop={
关键字HTML:“”,
keySpeed:10,//每个按键事件的像素数
initialMouseX:未定义,
initialMouseY:未定义,
startX:未定义,
斯塔蒂:未定义,
dXKeys:未定义,
dYKeys:未定义,
draggedObject:未定义,
initElement:函数(元素){
if(元素类型=='string')
元素=document.getElementById(元素);
element.onmousedown=dragDrop.startDragMouse;
element.innerHTML+=dragDrop.keyHTML;
var links=element.getElementsByTagName('a');
var lastLink=links[links.length-1];
lastLink.relatedElement=元素;
lastLink.onclick=dragDrop.startDragKeys;
},
StartFragmouse:函数(e){
dragDrop.startDrag(本);
var evt=e | | window.event;
dragDrop.initialMouseX=evt.clientX;
dragDrop.initialMouseY=evt.clientY;
addEventSimple(文件,'mousemove',dragDrop.dragMouse);
添加了简单(文档,'mouseup',dragDrop.release元素);
返回false;
},
startDragKeys:函数(){
dragDrop.startDrag(此.relatedElement);
dragDrop.dXKeys=dragDrop.dYKeys=0;
添加简单(文件,'keydown',dragDrop.dragKeys);
addEventSimple(文档,'keypress',dragDrop.switchKeyEvents);
这个。blur();
返回false;
},
startDrag:功能(obj){
if(dragDrop.DragedObject)
dragDrop.releaseElement();
dragDrop.startX=obj.offsetLeft;
dragDrop.startY=obj.offsetTop;
dragDrop.draggedObject=obj;
obj.className+=“已拖动”;
},
拖曳室:功能(e){
var evt=e | | window.event;
var dX=evt.clientX-dragDrop.initialMouseX;
var dY=evt.clientY-dragDrop.initialMouseY;
牵引力设置位置(dX,dY);
返回false;
},
德拉基:函数(e){
var evt=e | | window.event;
var key=evt.keyCode;
开关(钥匙){
案例37://左
判例63234:
dragDrop.dXKeys-=dragDrop.keys速度;
打破
案例38://以上
判例63232:
dragDrop.dYKeys-=dragDrop.keys速度;
打破
案例39://对
判例63235:
dragDrop.dXKeys+=dragDrop.keys速度;
打破
案例40://向下
案件63233