làm việc Đối với các phiên bản của IE xuống dưới 10 mà không hỗ trợ phương pháp dataTransfer, tôi đã khám phá một cách hơi khó khăn khác để thực hiện công việc này.
Về cơ bản bạn làm cho văn bản ẩn với css sau đó sử dụng js để chọn nó ở chế độ nền khi di chuột.
HTML
<div id="drag_area" draggable="true">
<div id="text">
hidden text
</div>
</div>
CSS
#text { filter:alpha(opacity=0); opacity:0;
overflow:hidden; z-index:100000; width:180px; height:50px }
JS
function selectText(elementID) {
var text = document.getElementById(elementID);
if ($.browser.msie) {
var range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if ($.browser.mozilla || $.browser.opera) {
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(text);
selection.removeAllRanges();
selection.addRange(range);
} else {
var selection = window.getSelection();
selection.setBaseAndExtent(text, 0, text, 1);
}
}
$('#drag_area').hover(function(){
selectText('text');
});
Ở đây nó được kết hợp với giải pháp Anson và một chút phát hiện tính năng:
http: // jsfiddle .net/zaqx/PB6XL/
(hoạt động trong IE8, IE9 và tất cả các trình duyệt hiện đại)
EDIT: Đã cập nhật Fiddle trong phần bình luận bên dưới.
Bạn đã thử URI mã hóa chuỗi trước khi đặt nó vào href? –
Không chắc chắn làm thế nào để làm điều đó với kéo, nhưng sao chép và dán các công trình với JS. Kiểm tra này jsFiddle: http://jsfiddle.net/jRXMf/ Có lẽ đó sẽ giúp đỡ? Mã hóa URI – ReLeaf
@andrew thay thế các khoảng trống bằng% 20 không phải là siêu hữu ích. – Zaqx