У меня есть список элементов, которые я хотел бы сделать сортируемыми и изменяющими размер с помощью интерфейса Jquery. Объединение их прекрасно работает в Chrome и Firefox. Но в IE8 (как в обычном режиме, так и в режиме совместимости) любое поведение прекрасно работает при отдельном использовании, но при объединении получающееся смешанное поведение нежелательно.
Я ожидаю, что изменение размера элемента путем перетаскивания маркеров изменяемого размера не также активирует сортируемое поведение и перемещает этот элемент. К сожалению, когда я перетаскиваю области изменения размера элемента, он также перетаскивает элемент, как если бы я перемещал его позицию сортировки. Я хочу, чтобы эти два поведения были исключительными. Вот код, который повторяет поведение:
<!DOCTYPE html>
<html>
<head>
<link type="text/css" href="http://jqueryui.com/latest/themes/base/ui.all.css" rel="stylesheet" />
<script type="text/javascript" src="http://jqueryui.com/latest/jquery-1.3.2.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.resizable.js"></script>
<script type="text/javascript" src="http://jqueryui.com/latest/ui/ui.sortable.js"></script>
<style type="text/css">
.item { width: 200px; height: 20px; border: 1px solid gray; float: left; }
</style>
<script type="text/javascript">
$(document).ready(function(){
$(".item").resizable({
start:function() {
$("#wrapper").sortable("disable");
},
stop:function() {
$("#wrapper").sortable("enable");
}
});
$("#wrapper").sortable({
items:".item"
});
});
</script>
</head>
<body>
<div id="wrapper">
<div class="item">a</div><div class="item">b</div><div class="item">c</div><div class="item">d</div>
</div>
</body>
</html>
Я пробовал несколько стратегий для решения этой проблемы, в том числе:
- Подход выше, который пытается отключить сортировку при запуске изменения размера. К сожалению, это никак не влияет.
- Наличие функции запуска изменяемого размера добавляет класс к элементу, а затем имеет сортируемый фильтр по этому классу (например, $ ("# wrapper"). Sortable ({items: ". Item: not (.resizing)"}) ; и $ ("# wrapper"). sortable ({items: ". item", cancel: ". resizing"});)
- Несколько вариантов того, какие селекторы используются для сортировки и изменения размера
- Обширный поиск в Google, бьющий мою голову по моему столу, и бормотание в общем направлении Microsoft.
Любая помощь очень ценится.