diff options
author | Kévin Gomez Pinto <kevin_gomez@carpe-hora.com> | 2012-04-16 14:47:18 +0200 |
---|---|---|
committer | Kévin Gomez Pinto <kevin_gomez@carpe-hora.com> | 2012-04-16 14:47:18 +0200 |
commit | 13a0fbd872a9f50cddb9fdaf8398f5eab236af09 (patch) | |
tree | 9e1e4452304d5458720da79cac7ff30f0427e931 | |
parent | 772abe3f3bbfe903f35f71b7843073e2fa1884ad (diff) | |
download | jquery-week-calendar-13a0fbd872a9f50cddb9fdaf8398f5eab236af09.zip jquery-week-calendar-13a0fbd872a9f50cddb9fdaf8398f5eab236af09.tar.gz jquery-week-calendar-13a0fbd872a9f50cddb9fdaf8398f5eab236af09.tar.bz2 |
Fix: some performance improvements for event delegation
-rw-r--r-- | jquery.weekcalendar.js | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/jquery.weekcalendar.js b/jquery.weekcalendar.js index d379330..12cb81a 100644 --- a/jquery.weekcalendar.js +++ b/jquery.weekcalendar.js @@ -600,8 +600,10 @@ return; } - var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); - if (!$calEvent.length) { + var $calEvent = $target.hasClass('wc-cal-event') ? + $target : + $target.parents('.wc-cal-event'); + if (!$calEvent.length || !$calEvent.data('calEvent')) { return; } @@ -614,32 +616,30 @@ } }).mouseover(function(event) { var $target = $(event.target); + var $calEvent = $target.hasClass('wc-cal-event') ? + $target : + $target.parents('.wc-cal-event'); - if (self._isDraggingOrResizing($target)) { + if (!$calEvent.length || !$calEvent.data('calEvent')) { return; } - var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); - - if (!$calEvent.length || !$calEvent.data('calEvent')) { + if (self._isDraggingOrResizing($calEvent)) { return; } options.eventMouseover($calEvent.data('calEvent'), $calEvent, event); }).mouseout(function(event) { var $target = $(event.target); - - if (self._isDraggingOrResizing($target)) { - return; - } - - var $calEvent = $target.hasClass('wc-cal-event') ? $target : $target.parents('.wc-cal-event'); + var $calEvent = $target.hasClass('wc-cal-event') ? + $target : + $target.parents('.wc-cal-event'); if (!$calEvent.length || !$calEvent.data('calEvent')) { return; } - if ($calEvent.data('sizing')) { + if (self._isDraggingOrResizing($calEvent)) { return; } @@ -647,11 +647,13 @@ }); }, - /* - * check if a ui draggable or resizable is currently being dragged or resized - */ + /** + * check if a ui draggable or resizable is currently being dragged or + * resized. + */ _isDraggingOrResizing: function($target) { - return $target.hasClass('ui-draggable-dragging') || $target.hasClass('ui-resizable-resizing'); + return $target.hasClass('ui-draggable-dragging') || + $target.hasClass('ui-resizable-resizing'); }, /* |