jquery - 获取jQuery UI中拖放元素的自定义HTML属性
问题描述
我正在构建一个纸牌游戏,其中每张纸牌(每个带有 class card的 div )都是可拖动的。默认情况下,这些卡片可以放在所有其他卡片上,但我使用接受选项来计算卡片在被丢弃后是否应该被接受或恢复。一张卡片只能放在另一张价值比拖动卡片高 1 的卡片上。例如,7 只能放在 8 上。卡片的值 (1-13) 存储在自定义属性data-value
中。
这意味着当一张卡片掉到另一张卡片上时,我需要知道拖动的卡片data-value
是否比data-value
它所放置的卡片少一个。我怎样才能访问这两个data-value
?
$(".card").draggable({ revert: 'invalid' });
$(".card").droppable({
accept: function(d) {
// Here I want to access the custom HTML attribute "data-value" of both dragged card and droppable card
}
});
解决方案
我找到了一个解决方案,但我怀疑还有另一个更简单的解决方案。
$(".card").droppable({
accept: function(d) {
if ($(d[0]).data("value") == $(this).data("value") -1) {
return true;
}
}
});
推荐阅读
- wpf - wpf TreeViewItem 不可选择
- ruby-on-rails - Ruby on Rails - 根据用户选择的选项过滤记录
- powershell - 获取 C:从多个服务器驱动容量
- python - 如何根据其他列中的条件将 pandas df 列中的多个值更改为 np.nan?
- python - 将 read_excel 中的多个 Excel 工作表循环到 Pandas 中的连接数据框中
- performance - sqlite:宽与长性能
- javascript - 如何允许从 chrome 扩展中的内容脚本执行内联 js 代码(onclick)?
- javascript - this.some = undefined 与 delete this.some 之间的区别
- sql-server - Kafka将CDC连接到MSSQL“表必须至少有一个主键列”
- android - 为什么 PlaceAutoCompleteFragment 在选择地点时不发起 onPlaceSelected 回调?