Drag & Drop HTML 5 jQuery

HTML

<div id="columns">
  <div class="column" draggable="true"><header>A</header></div>
  <div class="column" draggable="true"><header>B</header></div>
  <div class="column" draggable="true"><header>C</header></div>
</div>

CSS

/* Prevent the text contents of draggable elements from being selectable. */
[draggable] {
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}
.column {
  height: 150px;
  width: 150px;
  float: left;
  border: 2px solid #666666;
  background-color: #ccc;
  margin-right: 5px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 3px #000;
  box-shadow: inset 0 0 3px #000;
  text-align: center;
  cursor: move;
}
.column header {
  color: #fff;
  text-shadow: #000 0 1px;
  box-shadow: 5px;
  padding: 5px;
  background: -moz-linear-gradient(left center, rgb(0,0,0), rgb(79,79,79), rgb(21,21,21));
  background: -webkit-gradient(linear, left top, right top,
                               color-stop(0, rgb(0,0,0)),
                               color-stop(0.50, rgb(79,79,79)),
                               color-stop(1, rgb(21,21,21)));
  border-bottom: 1px solid #ddd;
  -webkit-border-top-left-radius: 10px;
  -moz-border-radius-topleft: 10px;
  border-top-left-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  -moz-border-radius-topright: 10px;
  border-top-right-radius: 10px;
}
.column.over {
  border: 2px dashed #000;
}

JavaScript

jQuery.event.props.push('dataTransfer');
$('#columns .column').on({
    // on commence le drag
    dragstart: function() {
        $(this).css('opacity', '0.5');
    },
    // on quitte l'élément concerné par le drag
    dragleave: function() {
        $(this).removeClass('over');
    },
    // on passe sur un élément draggable
    dragenter: function(e) {
        $(this).addClass('over');
        //e.preventDefault();
    },
    dragover: function(e) {
        //$(this).addClass('over');
        e.preventDefault();
    },
    // on lâche l'élément, le drag est terminé
    dragend: function() {
        $(this).css('opacity', '1');
    },
    // 
    drop: function() {
       alert('drop');
    }
});