jQuery拖放然后打开特定于每个列表项的警报
jQuery drag and drop then open alert specific for each list item
我对jQuery有问题。我有 3 个无序列表,我希望当列表项从第一个 ul 删除到第二个或第三个时,打开一个警报,其中包含每个列表项的不同信息。这是我所做的,但它不起作用:jsFiddle。
$(document).ready(function () {
$('ul.connectedSortable').sortable({
connectWith: "#sortable2, #sortable3",
helper: 'clone',
stop: function (event, ui) {
var itemTypeID = ui.draggable.attr("id");
var itemType = itemTypeID.data("draggableItem");
switch (itemType) {
case 'text':
alert('text!');
break;
case 'photo':
alert('photo!');
break;
case 'video':
alert('video!');
break;
case 'music':
alert('music!');
break;
default:
alert(itemType);
}
}
});
$( "#draggable" ).draggable({
connectToSortable: "#sortable2, #sortable3",
helper: "clone",
revert: "invalid"
});
});
请帮忙!
代码存在一些问题。 jQueryUI可能很难理解,我遭受了它。
- 首先,你不需要将li声明为可拖动(如果后面没有其他功能),因为sortable为你做这件事。
-
ui.item
它已经是一个jQuery项目来请求.data()
你检索id,但这只是文本,在你的方法上,你应该用$('#'+itemTypeID)
来包装它,但jQueryUI已经为你做到了。
我试过这个,我认为这就是你想做的:
$(document).ready(function () {
$('ul.connectedSortable').sortable({
connectWith: ".connectedSortable",
helper: 'clone',
stop: function (event, ui) {
var itemType = ui.item.data("draggableitem");
switch (itemType) {
case 'text':
alert('text!');
break;
case 'photo':
alert('photo!');
break;
case 'video':
alert('video!');
break;
case 'music':
alert('music!');
break;
default:
alert(itemType);
}
}
});
});
相关文章:
- 如何包含特定于每个视图angularjs的javascript文件
- 如何为下拉列表的每个选项添加一个属性
- 使用jQuery获取选择列表中每个更改的值
- 动画功能不应用于每个元素
- Instagram客户端ID是否特定于每个使用它的人
- j查询计数列表中每个项目的总数
- jQuery拖放然后打开特定于每个列表项的警报
- 将列表中每个单词的第一个出现替换为链接
- Spotify API-获取播放列表中每个曲目的曲目URI
- jQuery列表中每个产品的基于悬停的弹出事件
- 在javascript的highcharts中使用不同的列表作为每个点的名称
- 函数只作用于每个元素的第一个子元素
- jQuery如何使slideToggle应用于每个项目
- ASP.使用javascript获取控件列表中每个控件的id
- 我使用jquery next和cost选项只选择一个元素,但这适用于每个元素的类
- 添加一个相当于每个锚点的onMouseDown属性'类或文档中的s HREF属性
- 获取高度并应用于每个元素失败
- 在 jquery 中向现有数组列表的每个元素添加一个元素
- 将我的视频皮肤应用于每个视频标签(原版 java 脚本)
- 使. slidetoggle特定于每个列表