- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我深表歉意。这是我真正需要帮助的问题的链接。下面的查询,我已经修复了。
请帮助我。
Drag and Drop from localstorage HTML5 not working
我用 HTML、CSS、JQuery 准备了一些拖放小部件。拖放工作正常。一旦将拖动的小部件放在所需的位置,我就制作了一个图标来显示它。图标掉落后显示正常。
我想在我们点击关闭图标时删除小部件。但它不会删除小部件。我尝试刷新页面以查看它是否可以正常工作。它是。我不确定为什么 JQuery 会这样。
我试图寻找解决方案。我可以看到很多解决方案。但没有什么能解决我的问题。有人可以帮忙吗?
下面是我用过的代码:
/* ----- JavaScript ----- */
$(function() {
if (localStorage.length != 0) {
for (var i = 0; i < localStorage.length; i++) {
var dropClass = localStorage.key(i);
var clonediv = $("." + dropClass.substr(4, dropClass.length - 4)).clone();
var droppable = $("#droppable");
droppable.append(clonediv.draggable({
helper: 'original',
revert: 'valid',
containment: "#droppable",
grid: [30, 30],
snap: true
}).resizable({
containment: "#droppable"
}));
clonediv.find('a').removeClass("displayblock");
console.log(clonediv);
}
} else {}
$(".bat_voltage").draggable({
revert: true,
grid: [30, 30]
});
$(".left_flight").draggable({
revert: true,
grid: [30, 30]
});
$(".cnt_flight").draggable({
revert: true,
grid: [30, 30]
});
$("#droppable").droppable({
drop: function(event, ui) {
var dragged = ui.draggable;
var id = dragged.attr("class").split(' ');
var droppable = $("#droppable");
var find = (droppable.find("." + id[0]));
console.log(find);
if (find.length != 0) {} else {
ui.helper.css({
'top': 0,
'left': 0,
'position': 'relative'
});
ui.helper.clone().appendTo("#droppable").draggable({
containment: "#droppable",
grid: [30, 30],
snap: true
}).resizable({
containment: "#droppable"
});
droppable.find("." + id[0]).find('a').removeClass("displayblock");
localStorage.setItem("drop" + id[0], droppable);
}
}
});
$("#change").click(function() {
var bat_value = parseInt($("#bat_level").val());
if (bat_value > 25) {
progressValue(bat_value, "Green");
} else if (bat_value > 15 && bat_value < 25) {
progressValue(bat_value, "Yellow");
} else if (bat_value < 15) {
progressValue(bat_value, "Red");
}
});
$(".boxclose").click(function() {
alert("remove widget");
var par = $(this).parent();
var id = par.attr("class").split(' ');
var droppable = $("#droppable");
var removing = droppable.find("." + id[0]);
removing.remove();
localStorage.removeItem("drop" + id[0]);
});
});
/* ----- CSS ----- */
.bat_voltage {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
.floatleft {
float: left;
}
.left_flight {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
.cnt_flight {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
#droppable {
width: 50%;
height: 400px;
padding: 0.5em;
margin: 10px;
resize: both;
border: 2px;
overflow: auto;
}
#progressbar {
width: 200px;
height: 50px;
margin-top: 20px;
}
a.boxclose {
float: right;
margin-top: -10px;
margin-right: -10px;
cursor: pointer;
color: #fff;
border: 1px solid #AEAEAE;
border-radius: 8px;
background: #605F61;
font-size: 21px;
font-weight: bold;
display: inline-block;
line-height: 0px;
padding: 8px 3px;
display: block;
}
.displaynone {
display: none !important;
}
.displayblock {
display: none !important;
}
<!----- HTML ----->
<HTML>
<HEAD>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
</HEAD>
<body>
<form id="form1" runat="server">
<div>
<div>
<div class="bat_voltage floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Battery Voltage</p>
</div>
<div class="left_flight floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Flight Time Left</p>
</div>
<div class="cnt_flight floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Current Flight Time</p>
<div class="curFlight"></div>
</div>
<div style="clear:both"></div>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop here</p>
</div>
</div>
</form>
</body>
</HTML>
最佳答案
尝试 Jsfiddle
这里您正在使用可拖动事件并动态添加该关闭按钮
因此,无论何时您想要删除或添加任何功能到动态添加的元素,您都必须执行类似的操作。
<html>
<head>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<style>
.bat_voltage {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
.ui-widget-content,
.ui-widget-header#droppable { border: 2px solid #000; }
.floatleft {
float: left;
}
.left_flight {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
.cnt_flight {
width: 250px;
height: 100px;
padding: 0.5em;
margin: 10px 10px 10px 0;
z-index: 1;
}
#droppable {
width: 50%;
height: 400px;
padding: 0.5em;
margin: 10px;
resize: both;
border: 2px;
overflow: auto;
}
#progressbar {
width: 200px;
height: 50px;
margin-top: 20px;
}
a.boxclose {
float: right;
margin-top: -10px;
margin-right: -10px;
cursor: pointer;
color: #fff;
border: 1px solid #AEAEAE;
border-radius: 8px;
background: #605F61;
font-size: 21px;
font-weight: bold;
display: inline-block;
line-height: 0px;
padding: 8px 3px;
display: block;
}
.displaynone {
display: none !important;
}
.displayblock {
display: none !important;
}
</style>
<script>
$(function () {
if (localStorage.length != 0) {
for (var i = 0; i < localStorage.length; i++) {
var dropClass = localStorage.key(i);
var clonediv = $("." + dropClass.substr(4, dropClass.length - 4)).clone();
var droppable = $("#droppable");
droppable.append(clonediv.draggable({
helper: 'original',
revert: 'valid',
containment: "#droppable",
grid: [30, 30],
snap: true
}).resizable({
containment: "#droppable"
}));
clonediv.find('a').removeClass("displayblock");
console.log(clonediv);
}
} else {}
$(".bat_voltage").draggable({
revert: true,
grid: [30, 30]
});
$(".left_flight").draggable({
revert: true,
grid: [30, 30]
});
$(".cnt_flight").draggable({
revert: true,
grid: [30, 30]
});
$("#droppable").droppable({
drop: function(event, ui) {
var dragged = ui.draggable;
var id = dragged.attr("class").split(' ');
var droppable = $("#droppable");
var find = (droppable.find("." + id[0]));
console.log(find);
if (find.length != 0) {} else {
ui.helper.css({
'top': 0,
'left': 0,
'position': 'relative'
});
ui.helper.clone().appendTo("#droppable").draggable({
containment: "#droppable",
grid: [30, 30],
snap: true
}).resizable({
containment: "#droppable"
});
droppable.find("." + id[0]).find('a').removeClass("displayblock");
localStorage.setItem("drop" + id[0], droppable);
}
}
});
$("#change").click(function() {
var bat_value = parseInt($("#bat_level").val());
if (bat_value > 25) {
progressValue(bat_value, "Green");
} else if (bat_value > 15 && bat_value < 25) {
progressValue(bat_value, "Yellow");
} else if (bat_value < 15) {
progressValue(bat_value, "Red");
}
});
$("body").on('click','.boxclose',function() {
alert("remove widget");
var par = $(this).parent();
var id = par.attr("class").split(' ');
var droppable = $("#droppable");
var removing = droppable.find("." + id[0]);
removing.remove();
localStorage.removeItem("drop" + id[0]);
});
});
</script>
</HEAD>
<body>
<form id="form1" runat="server">
<div>
<div>
<div class="bat_voltage floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Battery Voltage</p>
</div>
<div class="left_flight floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Flight Time Left</p>
</div>
<div class="cnt_flight floatleft ui-widget-content">
<a class="boxclose displayblock">×</a>
<p>Current Flight Time</p>
<div class="curFlight"></div>
</div>
<div style="clear:both"></div>
</div>
<div id="droppable" class="ui-widget-header">
<p>Drop here</p>
</div>
</div>
</form>
</body>
</html>
关于刷新页面后JQuery点击有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40524663/
我们知道,当使用 hibernate 对数据库进行批量更新时(即使在 HQL 中),所做的更改不会复制到存储在当前 session 中的实体。 所以我可以调用 session.refresh 来加载对
我正在做一个项目,所有的东西都保存在事件中,所以服务器需要一些时间来响应新数据。我正在使用 Fluent 等待使用 ajax 的页面,但是这个不使用任何 ajax。所以我想刷新页面检查是否有新项目,如
我有一个从 Vector 创建的 JTable。 如何刷新 JTable 以显示添加到 Vector 的新数据? 最佳答案 当 TableModel 发生更改时,您的 JTable 应该会自动更新。我
有没有办法使用下面的代码来刷新已经存在的 div id,而不是刷新时间? window.onload = startInterval; function startInterval() {
我更新了在 Shiny Server 上运行的 Shiny 应用程序使用的 DataSet.RData。但是, Shiny 的应用程序仍在旧数据上运行。我已通过浏览器历史记录清除并重新启动浏览器几次,
我的应用程序中有一个无限滚动的网格面板(ExtJs 4.2.1),类似于 this example .用户可以单击刷新按钮,然后必须使用数据库中的数据更新网格的行。我在刷新按钮处理程序中调用 stor
我不知道这三种方法中哪一种最适合我。他们都为我工作。有谁知道刷新、更新和重画之间的区别吗? 最佳答案 根据在线文档: Refresh - 重新绘制屏幕上的控件。 Call Refresh method
有什么办法吗 ICollectionView.Refresh() 或者 CollectionViewSource.GetDefaultView(args.NewValue).Refresh(); 在
这个问题已经有答案了: Updating address bar with new URL without hash or reloading the page [duplicate] (4 个回答)
我有一个 javascript 设置超时以在 10 秒后关闭 div,并且我想在 div 关闭时添加页面刷新。我正在使用的代码如下。 var container_close_sec = "1
我有一组具有以下名称的页面.... update1.php update2.php update3.php update4.php update5.php update6.php update7.ph
如果是则触发js函数。我可以使一个复选框保持选中状态,并在页面刷新时检查值并选中“checked”,并提交以下内容... checked="checked" /> 你都不记得触发js函数。 这是我的
我正在尝试刷新 php 脚本以在数据库更新时显示更新的内容。我首先构建了我的 php,然后刷新代码,然后合并它们。但是,脚本不会更新。有谁知道为什么吗? $(document).ready
当我要删除的节点扩展集合类型时,Grails中有一个错误阻止我使用removeFrom *。直接从关联中删除节点不会更新二级缓存。 A hasMany B 有什么方法可以使关联缓存手动无效或强制重新加
我正在使用 hibernate 和 mysql 来抽象一个数据库,以便在 java 驱动的网站中使用。我使用 hibernate 很好地解决了所有查询,但似乎无法弄清楚如何使用它进行更新、插入和删除,
如何通过调用 oncreateview 方法重新创建 fragment ?我有一个 fragment ,用于通过表单插入新数据,单击按钮后,我想通过删除在 EditText 中输入的数据来重新创建 f
当我从一个到另一个时,我试图刷新我的观点。我知道我应该将刷新代码放在 viewWillAppear 中,但我不知道该放什么代码。 你们能帮帮我吗? 谢谢! 最佳答案 在您看来,请调用 setNeeds
我正在开发 iPhone 应用程序并希望使用: CFStreamCreatePairWithSocketToHost(NULL, url, port, &serverReadStream, &serv
看到我已经创建了一个用于登录用户的脚本。而且我还添加了设置选项卡,以便用户可以编辑他们的设置!但是当我尝试它时,mysql 表中的数据发生了变化,但配置文件中显示的用户名和用户电子邮件保持不变!当我注
好的。这就是它的样子。 当我启动应用程序时,我从服务器收到的第一件事是数据: {name: "test", type: "checkbox" checked: true, } 这使得其中一个复选框
我是一名优秀的程序员,十分优秀!