event.preventDefault() ;は調べると規定の動作をキャンセルするという意味はわかったのですが、
このコードの中では、event.preventDefault() ;が2回でてきますが、
それぞれ何の動作をキャンセルしているのでしょうか?
このevent.preventDefault()をどういうときに書く必要があるのかわからない状態です。
js
1<!DOCTYPE html> 2<html> 3<head> 4<style> 5div#hoge, div#fuga { 6 width: 250px ; 7 text-align: center ; 8 padding: 24px 12px ; 9 background-color: blue ; 10 color: #fff ; 11} 12 13div#fuga { background-color: red ; } 14textarea { width: 250px ; height: 60px ; font-size: 16px ; } 15div#result { white-space: pre-wrap ; } 16</style> 17</head> 18<body> 19<p><textarea>SYNCER</textarea></p> 20<p><img src="./image.png" draggable="true" width="120" height="120"></p> 21<hr> 22<div id="hoge">drop here!</div> 23<hr> 24<div id="result"></div> 25<script> 26var element = document.getElementById( "hoge" ) ; 27 28var callbackFn1 = function ( event ) { 29 event.preventDefault() ; 30} ; 31 32var callbackFn2 = function ( event ) { 33 event.preventDefault() ; 34 35 var dataTransfer = event.dataTransfer ; 36 var types = dataTransfer.types ; 37 console.log( types ) ; 38 39 resultElement.innerHTML = "" ; 40 41 for ( var i=0,l=types.length; l>i; i++ ) { 42 var value = dataTransfer.getData( types[i] ) ; 43 console.log( types[i], value ) ; 44 resultElement.appendChild( document.createTextNode( "type: " + types[i] + "\n" ) ) ; 45 resultElement.appendChild( document.createTextNode( "return value: " + value + "\n\n" ) ) ; 46 } 47} ; 48 49element.ondragover = callbackFn1 ; 50element.ondrop = callbackFn2 ; 51 52var resultElement = document.getElementById( "result" ) ; 53</script> 54 55</body> 56</html>
出典は何でしょうか。
また、自身が理解してること調べたこと試したことを記載してください
回答1件
あなたの回答
tips
プレビュー