Как проверить поддержку IE Drag & Drop для любого элемента - PullRequest
0 голосов
/ 04 января 2012

Есть ли способ проверить, поддерживает ли пользовательский агент перетаскивание определенного элемента (div, tr, ...)?

У меня есть таблица с перетаскиваемыми строками таблицы, которая работаетхорошо в Chrome.Но поскольку Internet Explorer (до версии 9) поддерживает только перетаскивание изображений и ссылок (и некоторых других), я хотел вместо этого дать ему небольшой указатель перетаскивания якоря внутри строки таблицы.Мой код выглядит примерно так:

<table>
    <tr draggable="true">
        <td><a class="drag-handle"></a> Hello World</td>
    </tr>
</table>

JS / jQuery:

$('tr[draggable]').each(function() {
    // Remove draggable="true" from <tr>
    $(this).attr('draggable', '');
    // Add draggable="true" to <a class="drag-handle">
    $(this).find('.drag-handle').attr('draggable', 'true');
});

Очевидно, что еще многое нужно сделать, чтобы действительно сделать эту работу, но вы получите суть:предоставление пользователю возможности перетаскивания, если его клиент не поддерживает перетаскивание (IE <10). </p>

Теперь я хочу выполнить замену только , если клиент пользователя не поддерживаетперетаскивание строк таблицы.Есть ли какие-либо известные функции обнаружения для этого?

1 Ответ

2 голосов
/ 05 января 2012

С Обнаружение поддержки перетаскивания HTML5 в javascript :

if('draggable' in document.createElement('span')) {
    alert("Drag support detected");
}

Благодаря Mark Rhodes за совет!Также спасибо micha за указание на мою ошибку jQuery (removeAttr('draggable') вместо attr('draggable')).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...