我正在使用pnotify插件向用戶顯示通知。但是,如果用戶通過單擊X圖標關閉1選項卡中的通知,我想要刪除所有選項卡上的通知。僅收聽localStorage.removeItem()事件
我爲此使用localstorage,每次向用戶顯示新通知時,都會將其添加到localStorage。當用戶按下X圖標時,我做了localStorage.removeItem(key)
。如何收聽此活動以關閉所有標籤中的通知?
我的聽衆是下面:
$(window).bind('storage', function(e) {
// if it was removed
if (e.originalEvent.newValue == null) {
var notificationObject = e.originalEvent.oldValue;
// call remove function on pnotify object
notificationObject.remove();
}
});
我注意到,NEWVALUE變成零,如果它被刪除,理論上這會工作(還沒有測試過),但它是可靠的條款將它總是如果在該項目上調用removeItem,則返回null?如果項目值更改爲null
,那麼它會觸發該事件,因爲值更改的權利?
如果(e.originalEvent.newValue == NULL)應該是如果(!e.originalEvent.newValue) – ymz
@ymz沒有必要處理'undefined'這裏,規範決定了'返回null'當鑰匙不存在時。 – Stijn