OKこれは、オブジェクト自体を含むJavaScriptオブジェクトの変数です。onclickの間にjavascriptオブジェクトから値を取得できません(未定義を返します)
示すように、私はonclickの機能を持っている:
if (localStorage.cal) {
var dat = JSON.parse(localStorage.cal);
console.log(dat);
eventMap = dat.map;
eventList = dat.list;
}
$(delAppearance).on('click', function(){
if (lastKey && eventMap[lastKey]) {
var e = eventMap[lastKey];
eventList[lastKey] = undefined;
delete eventList[lastKey];
calObj.removeEvents(function(event){
return new Date(event.date).toUTCString() == moment(lastKey)._d.toUTCString();
});
localStorage.cal = JSON.stringify({list:eventList, map:eventMap});
lastKey = null;
$(delAppearance).hide();
}
});
だから、最後のキーが現在06/20/2017
に設定されています。 06/20/2017
にはのレコードがあります(下の画像を見てください)。私はeventMap[lastKey]
にアクセスしようとすると、(私はundefined
を取得し、私は関数を入力することはできませんいくつかの理由についてif(lastKey && eventMap[lastKey])
を見てください。
を任意の助けいただければ幸いです。
UPDATE
だから、これから来るように見える:
var calClick = function(target){
clearState();
var d = new Date(target.date._d);
var prettyDate = ((d.getMonth() + 1) + '/' + d.getDate() + '/' + d.getFullYear());
var hr = new Date().getHours();
var min = new Date().getMinutes();
$(aDate).val(prettyDate);
var s;
console.log(target);
if (s = eventMap[prettyDate]) {
lastKey = prettyDate;
$(delAppearance).show();
setCurrentState(s);
}
}
ここではlastKeyに到達しません。しかし、同じ問題のように思える。私は間違った方法でイベントマップにアクセスしなければなりません。
ここで、eventMapをマップオブジェクトに割り当てていますか? – mjw
@mjw固定質問 – jkushner
最終キーは定義されていますか? – MBurnham