eligendiodit
Version:
A powerful javascript functions library!
39 lines (34 loc) • 1.02 kB
JavaScript
var isFun = require('./isFun');
var forEach = require('./forEach');
var config = require('./_config');
var fsChangeEvents = config.fsChangeEvents;
var fsEvents = config.fsEvents;
/**@function*/
/**
* [fn.fullScreenChange] 全屏状态变化事件
* @param callback function
*/
function fullScreenChange(callback) {
if (isFun(callback)) {
var eventId = Date.now();
fsChangeEvents[eventId] = callback;
forEach(fsEvents, function (e) {
document.addEventListener(e, fsChangeEvents[eventId]);
});
return { 'remove': function() { rmFsChangeEvent(eventId); } };
}
}
/**
* [fn.fullScreenChange.removeAll] 清除所有全屏状态变化事件
*/
fullScreenChange.removeAll = function() {
forIn(fsChangeEvents, function(eventId) { rmFsChangeEvent(eventId); });
}
function rmFsChangeEvent(eventId) {
forEach(fsEvents, function (e) {
document.removeEventListener(e, fsChangeEvents[eventId]);
});
delete fsChangeEvents[eventId];
}
/**@function*/
module.exports = fullScreenChange;