Как получить данные о выбросах в jquery? Я немного удивлен, что данные недоступны в событии dragover на хроме. Как я узнаю, что это что-то недоступное или нет?
Демо: http://jsfiddle.net/7KVph/
<div id="parent">
<div class="item" ondrop="drop(event)" ondragover="allowDrop(event)">Drop here</div>
<div ondragstart='drag(event)'>Drag me</div>
</div>
A:<span id="dragover_data">NA</span><br/>
B:<span id="drop_data">NA</span><br/>
C:<span id="dragover_data2">NA</span><br/>
D:<span id="drop_data2">NA</span>
<script>
function allowDrop(e) {
e.preventDefault();
$('#dragover_data').html('fail');
$('#dragover_data').html(e.dataTransfer.getData("DataType"));
}
function drop(e) {
e.preventDefault();
$('#drop_data').html('fail');
$('#drop_data').html(e.dataTransfer.getData("DataType"));
}
function drag(e) {
e.dataTransfer.setData("DataType", "MyData");
}
$('.item').on('dragover', function(e){
$('#dragover_data2').html('fail');
$('#dragover_data2').html(e.dataTransfer.getData("DataType"));
});
$('.item').on('drop', function(e){
$('#drop_data2').html('fail');
$('#drop_data2').html(e.dataTransfer.getData("DataType"));
});
</script>
Для свойств, не нормированных jQuery, вы можете найти их в свойстве originalEvent.
function eventHandle (e) {
console.log(e.originalEvent);
}
он будет содержать все свойства события, которые находятся в объекте события, сгенерированном браузером.
e.originalEvent
? как правило, если оно доступно в исходном событии, вы всегда сможете найти его вe.originalEvent
если не иначе. Если он не доступен на originalEvent, то он не будет доступен.