我用jquery 点击事件,每点击一次,同时添加了两个元素,这两个元素是在不同的父元素里面的。
现在根据需求想要做撤销事件,怎么可以同时删除这两个添加的元素,或者有没有什么方法可以撤销上一次的点击事件发生的事情?
$(document).on('keyup', function (event) {
var e = window.event ? event : e;
if (e.ctrlKey && event.keyCode == 90) {
$(".pointForLeft:last").remove();
$(".pointForUp:last").remove();
}
})
我用这个代码想要同时删除那两个元素,但是只能先删除$(".pointForLeft:last")元素,并且在全部删除后,才会去删除$(".pointForUp:last")元素,
有没有什么办法可以让这两个元素同时删除的?
可以合并一条语句,但是内部还是分2次删除
$(".pointForLeft:last,.pointForUp:last").remove();
不知道你为什么要搞这么复杂,你应该是想有一个撤销删除或者添加的功能吧,那你要把每次的操作的元素先缓存到全局变量里面,然后如果下一次操作开始了再去把上一次操作的元素remove
obj.remove()
$(document).on('keyup', function (event) {
var e = window.event ? event : e;
if (e.ctrlKey && event.keyCode == 90) {
//给这两个元素附上自定义属性选择器,然后利用属性选择器删除(或者你在添加这两个元素的时候就附上相同的class,利用class删除)
$(".pointForLeft:last").attr("data-name","test");
$(".pointForUp:last").attr("data-name","test");
$("[data-name='test']").remove();
}
})
可以设计一个函数 内部删除两个元素,然后一点击函数执行