事实用以下检测代码来检测时,是支持Keyup的
function detectEventSupport(eventName) { var tempElement = document.createElement('div'), isSupported; eventName = 'on' + eventName; isSupported = (eventName in tempElement); // 使用第一种方式 // 如果第一种方式行不通,那就来看看它是不是已知事件类型 if (!isSupported) { tempElement.setAttribute(eventName, 'xxx'); isSupported = typeof tempElement[eventName] === 'function'; if(typeof tempElement[eventName] != 'undefined'){ tempElement.removeAttribute(eventName); } } // 清除掉动态创建的元素,以便内存回收 tempElement = null; // 返回检测结果 return isSupported; }
但实际上使用时并不会触发。
因此想模拟keyup事件
var mock = null; addEvent(document, 'keydown', function(e) { keydownHandler(e); if (mock) clearTimeout(mock); mock = setTimeout(function() { keyupHandler(e); }, 200); });
但是这种方法的效果不是很好,请问还有没有更好的方法
慕田峪9158850
相关分类