jQuery UI Draggable не работает
Я включил библиотеку jquery, а затем библиотеку пользовательского интерфейса jquery, и она по-прежнему не работает. Использование Chrome
Следующий Код:
<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.8.16.custom.min.js" type="type/javascript"></script>
<script type="text/javascript">
$(function() {
$( ".drag" ).draggable();
});
</script>
<div id="aboutBox" class="boxLook boxBg drag"></div>
??? Я нигде не могу найти никаких решений. Отладчик говорит, что метод draggable не существует. Но я добавил jQuery и jQuery ui, и пути верны! это просто не работает.
7 ответов:
У вас есть одна из следующих проблем:
- Ваши файлы jQuery или jQuery UI Javascript path неверны
- ваш пользовательский интерфейс jQuery не включает перетаскиваемый
- Ваши файлы Javascript jQuery или jQuery UI повреждены
- Ваш div неуправляемый и пустой, поэтому тащить нечего
- Что-то сталкивается с вашим jQuery или jQuery UI, поэтому он не работает
Ваш код верен, и он должен работа:
Попробуйте это :
<script src="js/jquery-1.6.2.min.js" type="text/javascript"></script> <script src="js/jquery-ui-1.8.16.custom.min.js" type="type/javascript"></script> <script src="js/ui/jquery.ui.draggable.js" type="type/javascript"></script> <script type="text/javascript"> $(function() { $( ".drag" ).draggable(); }); </script> <div id="aboutBox" class="boxLook boxBg drag"></div>
Вы должны внедрить перетаскиваемый компонент в свой проект и включить его ! http://jqueryui.com/download
Моя проблема заключалась в том, что у меня было другое событие, связанное с mousemove, которое содержало
e.stopPropagation();
, которое не позволяло работать коду мыши.draggable()
.$(document).on('mousemove', '*', function (e) { MyFunction(e); }); function MyFunction (sender, e) { e.stopPropagation(); ... }
Решение состояло в том, чтобы удалить
e.stopPropagation();
и переоценить его реализацию.
В моем случае я использовал более старую версию пользовательского интерфейса jQuery. Я заменил старую ссылку на следующую, и все начало работать, как и было задумано.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
Проверьте, загружен ли уже ваш перетаскиваемый объект в видовой экран. Если это не так, он не будет работать должным образом.
Мой совет-добавить этот код
<script type="text/javascript"> $(function() { $( ".drag" ).draggable({ helper:'clone' }); }); </script>
Сразу после перетаскиваемого объекта, чтобы быть абсолютно уверенным, что все загружено в нужное время.
Когда вы будете уверены, что все в порядке, тогда вы сможете выполнить рефакторинг.