我有一個元素列表,我想使用JQuery UI進行排序和調整大小。在Chrome和Firefox中將它們結合起來效果很好。但是在IE8中(在正常和兼容性視圖中),單獨使用時,任何一種行爲都可以很好地發揮作用,但如果組合使用,則會導致混合行爲不受歡迎。IE8中的Jquery UI:暫停排序行爲,同時調整可排序和可調整大小的元素
我的期望是通過拖動可調整大小的手柄來調整元素大小而不是也會激活可排序的行爲並移動該元素。不幸的是,當我拖動元素的大小調整區域時,它也拖動元素,就好像我正在移動它的排序位置。我希望這兩種行爲是排他性的。下面是代碼複製行爲:
<!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」});)
- 什麼選擇器可用於排序和調整大小的幾種變化
- 大量的谷歌搜索,在我的辦公桌上打我的頭,並在微軟的大方向嘀咕。
任何幫助,非常感謝。
是的,這是「不幸」後的位,我認爲這不會在這裏工作......我幾乎認爲我試過這條路線,但我會再試一次。謝謝 – jlarson 2009-07-13 14:03:04