所以这个真的让我难过,我无法弄明白为什么。
我遇到的问题是当我使用onclick事件设置cookie时。然后在不重新加载页面的情况下,尝试删除cookie是不可能的。但是,如果我重新加载页面然后尝试删除它,我能够。
以下是我设置cookie的方式:
$(".add-prod").one("click", function(){
var productParent = $(this).attr('data-parentstep');
var productName = $(this).attr('data-product');
var productID = $(this).attr('data-ajaxid');
var productStep = $(this).attr('data-productstep');
Cookies.set('selectedProduct-'+productID,{'id':productID,'name':productName,'step':productStep,'parent':productParent,'thumbnail':productThumbnail},{expires:7,path:''});
});
现在设置cookie工作正常。
当我尝试删除它而不重新加载页面时会出现问题。
$(".remove-this").on("click", function(){
var unsetId = $(this).attr('data-removeid');
Cookies.remove('selectedProduct-'+unsetId, { path: '' });
});
点击新添加的Cookie不会自行删除。 但是,在我重新加载并再次单击“.remove-this”按钮后,它将删除cookie。
我唯一想到的问题是,在解析DOM之后添加cookie,并且在重新解析之前基本上找不到cookie。 但是,我不知道该怎么做。
有关如何在DOM中创建cookie后立即删除cookie的任何建议都将非常感激。
答案 0 :(得分:0)
我明白了,解决方案很简单。
$( document ).on( "click", ".remove-this", function() {
var unsetId = $(this).attr('data-removeid');
Cookies.remove('selectedProduct-'+unsetId, { path: '' });
});
我没有按照原来的意图使用.on()函数。 我使用它的方式是不检查解析DOM后设置的cookie。