9
回答
有关xgcalender日历插件修改的问题
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

@假正经哥哥 你好,想跟你请教个问题:这个向下拉的事件是怎样判定的呢?还有新建弹出层拖动的时候

举报
cui_angel
发帖于5年前 9回/274阅
共有9个答案 最后回答: 5年前
@假正经哥哥 我想知道那个填写好日程之后,再点击弹出日程详情,为什么我新增的字段,都不能显示出来呢,要刷新一下再点击才可以看到全部的日程详情

事件的附加 都在一个函数里面,initevent,应该是这个名字。。


新增的事件后 不到服务器读取数据了,读取本地缓存(js中的变量),如果你使用的是快速新增的方法,那要把你新加的字段也要纯到缓存中,具体看quickadd方法里

--- 共有 3 条评论 ---
cui_angel我不知道是怎样的一个存储的方式,getdata() 5年前 回复
cui_angel好像还是没有找到这个缓存的存储 5年前 回复
cui_angelok,太感谢了,我具体看下 5年前 回复

缓存,newdata 就是缓存, 这个newdata 最终会被替换掉两个字段0,8的位置,

$("#bbit-cal-buddle").css("visibility", "hidden");
                        var newdata = [];
                        var tId = -1;
                        option.onBeforeRequestData && option.onBeforeRequestData(2);
                        $.post(option.quickAddUrl, param, function(data) {
                            if (data) {
                                if (data.IsSuccess == true) {
								
                                    option.isloading = false;
                                    option.eventItems[tId][0] = data.Data;
                                    option.eventItems[tId][8] = 1;
                                    render();
                                    option.onAfterRequestData && option.onAfterRequestData(2);
                                }
                                else {
                                    option.onRequestDataError && option.onRequestDataError(2, data);
                                    option.isloading = false;
                                    option.onAfterRequestData && option.onAfterRequestData(2);
                                }

                            }

                        }, "json");

                        newdata.push(-1, what);
                        var sd = strtodate(datestart);
                        var ed = strtodate(dateend);
                        var diff = DateDiff("d", sd, ed);
                        newdata.push(sd, ed, allday == "1" ? 1 : 0, diff > 0 ? 1 : 0, 0);
                        newdata.push(-1, 0, "", ""); //主题,权限,参与人,
						
                        tId = Ind(newdata);
                        realsedragevent();
                        render();

realsedragevent 其实是拖拽结束的事件,用于结束拖拽事件,清空一下临时数据


--- 共有 5 条评论 ---
cui_angel回复 @假正经哥哥 : 不过还有一个问题是拖拽的事件,就是我刚开始创建的时候只能拖到15:30,不知道是什么原因 5年前 回复
cui_angel回复 @假正经哥哥 : 恩,已经ok了,真是太感谢了 5年前 回复
假正经哥哥回复 @cui_angel : -1 是临时的一个id,成功后会被替换掉,你新加的数据在合适的位置插入 5年前 回复
cui_angel还是不太理解这个存贮机制,如果新增字段的话,该怎样存贮到缓存中呢 5年前 回复
cui_angelnewdata.push(-1, what);-1是什么数据啊?我如果新增的字段是不是需要添加到push里面。newdata.push(-1, 0, "", "")。 5年前 回复
--- 共有 8 条评论 ---
假正经哥哥回复 @cui_angel : $(document).one("mousedown", function() )主要是和这个事件冲突,你可以把上面的mousedown事件注释掉,然后在这个时间里面判断点击的位置是否在buddle中,可以通过判断pos,或者eventtarget 是buddle 子元素的方式 5年前 回复
cui_angel回复 @cui_angel : 不过似乎有问题 5年前 回复
cui_angel回复 @假正经哥哥 : 我把那个语句改成这样了,就ok了 buddle.mousedown(function(e) { setTimeout(function(){$("#bbit-cal-buddle").css("visibility", "visible");},100) });嘿嘿 5年前 回复
cui_angel回复 @假正经哥哥 : 我上午吧xgcalendar.js里面的return false全部都注释掉了还是无法获取input输入框的焦点和实现选择。buddle.mousedown(function(e) { return false });我觉得应该是这句代码的问题,可是如果如果注释掉,点击的时候弹出层直接隐藏了 5年前 回复
假正经哥哥@cui_angel 可以mousedown事件被return false了。你找一下 5年前 回复
顶部