X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fsupport.js;h=b7da5e5b1d553dc0e02826b2e54101ae9b26662e;hb=afaae84a7a56bcbb69cb772d9ea29766ad0a2aa6;hp=332839df87f3560ccb4292fad17d3e9a21945160;hpb=5ac2e0837cd5c86acc526c5bc5c3abbe91303116;p=jquery.git diff --git a/src/support.js b/src/support.js index 332839d..b7da5e5 100644 --- a/src/support.js +++ b/src/support.js @@ -5,7 +5,7 @@ var root = document.documentElement, script = document.createElement("script"), div = document.createElement("div"), - id = "script" + (new Date).getTime(); + id = "script" + now(); div.style.display = "none"; div.innerHTML = '
a'; @@ -81,6 +81,8 @@ // Figure out if the W3C box model works as expected // document.body must exist before we can do this + // TODO: This timeout is temporary until I move ready into core.js. + setTimeout(function(){ jQuery(function(){ var div = document.createElement("div"); div.style.width = div.style.paddingLeft = "1px"; @@ -90,6 +92,27 @@ document.body.removeChild( div ).style.display = 'none'; div = null; }); + }, 13); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + jQuery.support.focusBubbles = eventSupported("focus"); // release memory in IE root = script = div = all = a = null;