[Webkit-unassigned] [Bug 25691] No drop event when dropping on a dynamic page element.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 11 07:02:49 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=25691





------- Comment #1 from noel.gordon at gmail.com  2009-05-11 07:02 PDT -------
oh add the test case here. 

<html>
<head>

<style type="text/css">
  body { font-family:Verdana,Arial; }
  pre { font-size:11px; font-weight:bold; }
  .dropZone { font-size:28px; border:3px solid white; }
  .eventCounts { font-size:15px; color:#505050; }
</style>

<script type="text/javascript">
 var drag_event_count = 0;
 var drag_enter_count = 0;
 var drag_leave_count = 0;
 var drag_over_count  = 0;
 var drag_drop_count  = 0;

 function showEventCounts(e) {
   document.getElementById('results').innerHTML = e.type;

   ++drag_event_count;
   if (e.type == 'dragenter') {
     ++drag_enter_count;
   } else if (e.type == 'dragover') {
     ++drag_over_count;
   } else if (e.type == 'dragleave') {
     ++drag_leave_count;
   } else if (e.type == 'drop') {
     ++drag_drop_count;
   }

   document.getElementById('details').innerHTML =
     'drag_event_count: <b>' + drag_event_count + '</b>' +
     '<br> drag_enter_count: <b>' + drag_enter_count + '</b>' +
     '<br> drag_over_count: <b>' + drag_over_count + '</b>' +
     '<br> drag_leave_count: <b>' + drag_leave_count + '</b>' +
     '<br> drag_drop_count: <b>' + drag_drop_count + '</b>' +
     '<br>';
 }

 function onHover(id) {
   var elem = document.getElementById(id);
   elem.style.border = 'blue 3px solid';
   showEventCounts(event);
   event.dataTransfer.dropEffect = 'copy';
   event.returnValue = false;
 }

 function onLeave(id) {
   var elem = document.getElementById(id);
   elem.style.border = 'white 3px solid';
   showEventCounts(event);
 }

 function onDrop(id) {
   var elem = document.getElementById(id);
   elem.style.border = 'white 3px solid';
   showEventCounts(event);

   var url = event.dataTransfer.getData('URL');
   var text = event.dataTransfer.getData('Text');

   var r = document.getElementById('results');
   if (url) {
     r.innerHTML = 'drop url[' + url + ']';
   } else if (text) {
     r.innerHTML = 'drop text[' + text + ']';
   } else {
     r.innerHTML = 'drop empty[]';
   }
 }

</script>
</head>

<body topmargin="20" leftmargin="40">
 <p><center>
 <!-- drop target <div> with inline drag event handlers.  Note drag
      event counts are shown in the interior div id="details" using
      innerHTML calls.  See showEventCounts() above. -->
  <div id="dropzone" class="dropZone"
    ondragenter="onHover('dropzone');" ondragover="onHover('dropzone');"
    ondragleave="onLeave('dropzone');" ondrop="onDrop('dropzone');">
    Select text and drag drop it on this element.
   <p><div id="details" class="eventCounts"></div><p>
  </div>
 <p></center>

 <!-- drag drop events/results are shown in the following <pre> -->
 <pre id="results"></pre>

</body>
</html>


-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list