在重新学习jQuery / jQueryUI时,我试图在对元素进行排序后调用它。这可能相对简单,因为jQuery有很多方法可以实现回调。
jQuery(document).ready(function($) {
$('ul').addClass('list-unstyled');
$('.sortable').sortable({
revert: true,
connectWith: ".sortable"
});
});
ul {
margin: .8rem 2rem !important;
}
li {
margin: 0;
padding: 0;
}
div>div {
border: 1px solid #999;
margin-bottom: 2px;
}
body {
padding: 1rem;
}
.sortable {
cursor: pointer;
}
.sortable>div:hover {
background: #f0f0f0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js" integrity="sha256-Bxxp5LTCU2v12w2d0kxKb0vt5F4EgtrzcJKJSR3Xxio=" crossorigin="anonymous"></script>
<div class="sortable">
<div>
<ul class="1">
<li>test 1</li>
<li>test 2</li>
</ul>
</div>
<div>
<ul class="2">
<li>test 3</li>
<li>test 4</li>
</ul>
</div>
</div>
<div class="sortable">
<div>
<ul class="3">
<li>test 7</li>
<li>test 8</li>
</ul>
</div>
<div>
<ul class="4">
<li>test 9</li>
<li>test 0</li>
</ul>
</div>
</div>
所以让我说我移动3/4列表。我想在元素完成移动后发出一个回调(更改背景或字体大小)。
sort
/ change
函数,但不应该有条件涉及吗?这不仅仅是添加一个类,我计划附加的最终函数将执行一些AJAX以及一些计算。答案 0 :(得分:28)
使用stop
插件的sortable
事件。
排序时会触发此事件 已经停止了。
在你的例子中
$('.sortable')
.sortable({
revert : true,
connectWith : ".sortable",
stop : function(event,ui){ /* do whatever here */ }
});
答案 1 :(得分:2)
可以在此处找到jquery ui可排序插件的事件列表:http://jqueryui.com/demos/sortable/#events
答案 2 :(得分:1)
可在此处找到有关活动的文档:http://jqueryui.com/demos/sortable/
我猜你想要使用sort
或change
事件。
答案 3 :(得分:0)
$(function() {
$('#sortable').sortable( {
revert : true,
connectWith : ".sortable",
stop : function(event,ui){
//write ur function here
}
});
});