2016-09-25 5 views
0

Microsoftエッジで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オブジェクトは、スコープチェーンです。

エッジの要素にはdragDrop()というメソッドがあるので、それを呼び出すことになります。

このため、インラインイベントハンドラを使用しないでください。

関連する問題