summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKévin Gomez Pinto <kevin_gomez@carpe-hora.com>2012-04-16 14:47:18 +0200
committerKévin Gomez Pinto <kevin_gomez@carpe-hora.com>2012-04-16 14:47:18 +0200
commit13a0fbd872a9f50cddb9fdaf8398f5eab236af09 (patch)
tree9e1e4452304d5458720da79cac7ff30f0427e931
parent772abe3f3bbfe903f35f71b7843073e2fa1884ad (diff)
downloadjquery-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.js36
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');
},
/*