From d6b051236523872726710a95aaaa424dc883efe9 Mon Sep 17 00:00:00 2001 From: Olmo Maldonado Date: Sun, 27 Nov 2011 14:03:57 -0600 Subject: [PATCH] Feature detect for mouseenter and (assume) mouseleave. TESTED: IE6-9, Chrome latest, Firefox 3-5, 8, 10, Opera 11, Safari 5 Using Element.Delegation.html. --- Source/Element/Element.Event.js | 38 ++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/Source/Element/Element.Event.js b/Source/Element/Element.Event.js index 3f259fa2e..45267076c 100644 --- a/Source/Element/Element.Event.js +++ b/Source/Element/Element.Event.js @@ -3,7 +3,7 @@ name: Element.Event -description: Contains Element methods for dealing with events. This file also includes mouseenter and mouseleave custom Element Events. +description: Contains Element methods for dealing with events. This file also includes mouseenter and mouseleave custom Element Events, if necessary. license: MIT-style license. @@ -141,30 +141,30 @@ Element.NativeEvents = { error: 1, abort: 1, scroll: 1 //misc }; -var check = function(event){ - var related = event.relatedTarget; - if (related == null) return true; - if (!related) return false; - return (related != this && related.prefix != 'xul' && typeOf(this) != 'document' && !this.contains(related)); -}; - -Element.Events = { +Element.Events = {mousewheel: { + base: (Browser.firefox) ? 'DOMMouseScroll' : 'mousewheel' +}}; - mouseenter: { +if ('onmouseenter' in document.documentElement){ + Element.NativeEvents.mouseenter = Element.NativeEvents.mouseleave = 2; +} else { + var check = function(event){ + var related = event.relatedTarget; + if (related == null) return true; + if (!related) return false; + return (related != this && related.prefix != 'xul' && typeOf(this) != 'document' && !this.contains(related)); + }; + + Element.Events.mouseenter = { base: 'mouseover', condition: check - }, + }; - mouseleave: { + Element.Events.mouseleave = { base: 'mouseout', condition: check - }, - - mousewheel: { - base: (Browser.firefox) ? 'DOMMouseScroll' : 'mousewheel' - } - -}; + }; +} /**/ if (!window.addEventListener){