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;