2016-09-25 32 views
0

爲什麼我在microsoft edge中使用一個dragDrop事件函數名稱將不起作用?dragDrop JavaScript函數名稱在Microsoft Edge中保留?

實施例:

<!DOCTYPE HTML> 
<html> 
<head> 
<style> 
#div1 { 
    width: 350px; 
    height: 70px; 
    padding: 10px; 
    border: 1px solid #aaaaaa; 
} 
</style> 
<script> 
function allowDrop(ev) { 
    ev.preventDefault(); 
} 

function drag(ev) { 
    ev.dataTransfer.setData("text", ev.target.id); 
} 

function dragDrop(ev) { 
    ev.preventDefault(); 
    var data = ev.dataTransfer.getData("text"); 
    ev.target.appendChild(document.getElementById(data)); 
} 
</script> 
</head> 
<body> 

<p>Drag the W3Schools image into the rectangle:</p> 

<div id="div1" ondrop="dragDrop(event)" ondragover="allowDrop(event)"></div> 
<br> 
<img id="drag1" src="img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69"> 

</body> 
</html> 

https://jsfiddle.net/f5pvu9h0/

回答

1

內的內聯的事件處理程序,該元素的DOM對象是在範圍鏈。

Edge中的元素有一個dragDrop()方法,所以你調用它。

這就是您不應該使用內聯事件處理程序的原因。