diff --git a/dist/base.js b/dist/base.js
index 7e96f0405..458da565f 100644
--- a/dist/base.js
+++ b/dist/base.js
@@ -400,7 +400,7 @@ BI.Single = BI.inherit(BI.Widget, {
             });
             this.element.on("mousemove.title" + this.getName(), function (e) {
                 self._e = e;
-                if (!(self.element.find(e.target).length > 0)) {
+                if (!self.element.__isMouseInBounds__(e)) {
                     if (BI.isNotNull(self.timeout)) {
                         clearTimeout(self.timeout);
                     }
@@ -689,7 +689,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mouseenter." + this.getName(), function (e) {
-            if (self.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover && (o.isShadowShowingOnSelected || !self.isSelected())) {
                     assertMask();
                     self.$mask.visible();
@@ -697,7 +697,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mousemove." + this.getName(), function (e) {
-            if (!(self.element.find(e.target).length > 0)) {
+            if (!self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover) {
                     assertMask();
                     self.$mask.invisible();
@@ -742,7 +742,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
                         // if (e.button === 0) {
                         $(document).bind("mouseup." + self.getName(), function (e) {
                             // if (e.button === 0) {
-                            if (BI.DOM.isExist(self) && !hand.find(e.target).length > 0 && mouseDown === true && !selected) {
+                            if (BI.DOM.isExist(self) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected) {
                                 // self.setSelected(!self.isSelected());
                                 self._trigger();
                             }
@@ -3163,7 +3163,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (!o.toggle && self.isViewVisible()) {
                                 //     return;
@@ -3189,7 +3189,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click-hover":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (self.isViewVisible()) {
                                 //     return;
@@ -3606,7 +3606,7 @@ BI.Expander = BI.inherit(BI.Widget, {
                 case "click":
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.element.find(e.target).length > 0) {
+                            if (self.expander.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -4814,7 +4814,7 @@ BI.Switcher = BI.inherit(BI.Widget, {
                 default :
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.switcher.find(e.target).length > 0) {
+                            if (self.switcher.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.switcher.isEnabled()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -18760,7 +18760,7 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
                 self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS);
             }
             $(document).bind("mousedown." + self.getName(), function (e) {
-                if (BI.DOM.isExist(self) && !(self.element.find(e.target).length > 0)) {
+                if (BI.DOM.isExist(self) && !self.element.__isMouseInBounds__(e)) {
                     $(document).unbind("mousedown." + self.getName());
                     self.content.element.blur();
                 }
diff --git a/dist/bundle.js b/dist/bundle.js
index fc86dfe23..6d993c91d 100644
--- a/dist/bundle.js
+++ b/dist/bundle.js
@@ -36318,7 +36318,7 @@ BI.Single = BI.inherit(BI.Widget, {
             });
             this.element.on("mousemove.title" + this.getName(), function (e) {
                 self._e = e;
-                if (!(self.element.find(e.target).length > 0)) {
+                if (!self.element.__isMouseInBounds__(e)) {
                     if (BI.isNotNull(self.timeout)) {
                         clearTimeout(self.timeout);
                     }
@@ -36607,7 +36607,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mouseenter." + this.getName(), function (e) {
-            if (self.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover && (o.isShadowShowingOnSelected || !self.isSelected())) {
                     assertMask();
                     self.$mask.visible();
@@ -36615,7 +36615,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mousemove." + this.getName(), function (e) {
-            if (!(self.element.find(e.target).length > 0)) {
+            if (!self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover) {
                     assertMask();
                     self.$mask.invisible();
@@ -36660,7 +36660,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
                         // if (e.button === 0) {
                         $(document).bind("mouseup." + self.getName(), function (e) {
                             // if (e.button === 0) {
-                            if (BI.DOM.isExist(self) && !hand.find(e.target).length > 0 && mouseDown === true && !selected) {
+                            if (BI.DOM.isExist(self) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected) {
                                 // self.setSelected(!self.isSelected());
                                 self._trigger();
                             }
@@ -39081,7 +39081,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (!o.toggle && self.isViewVisible()) {
                                 //     return;
@@ -39107,7 +39107,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click-hover":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (self.isViewVisible()) {
                                 //     return;
@@ -39524,7 +39524,7 @@ BI.Expander = BI.inherit(BI.Widget, {
                 case "click":
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.element.find(e.target).length > 0) {
+                            if (self.expander.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -40732,7 +40732,7 @@ BI.Switcher = BI.inherit(BI.Widget, {
                 default :
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.switcher.find(e.target).length > 0) {
+                            if (self.switcher.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.switcher.isEnabled()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -54678,7 +54678,7 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
                 self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS);
             }
             $(document).bind("mousedown." + self.getName(), function (e) {
-                if (BI.DOM.isExist(self) && !(self.element.find(e.target).length > 0)) {
+                if (BI.DOM.isExist(self) && !self.element.__isMouseInBounds__(e)) {
                     $(document).unbind("mousedown." + self.getName());
                     self.content.element.blur();
                 }
@@ -98654,7 +98654,7 @@ BI.MultiSelectInsertTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -99343,7 +99343,7 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -104886,7 +104886,7 @@ BI.SearchMultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
diff --git a/dist/fineui.js b/dist/fineui.js
index 4acc130c7..a0c099fcc 100644
--- a/dist/fineui.js
+++ b/dist/fineui.js
@@ -36539,7 +36539,7 @@ BI.Single = BI.inherit(BI.Widget, {
             });
             this.element.on("mousemove.title" + this.getName(), function (e) {
                 self._e = e;
-                if (!(self.element.find(e.target).length > 0)) {
+                if (!self.element.__isMouseInBounds__(e)) {
                     if (BI.isNotNull(self.timeout)) {
                         clearTimeout(self.timeout);
                     }
@@ -36828,7 +36828,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mouseenter." + this.getName(), function (e) {
-            if (self.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover && (o.isShadowShowingOnSelected || !self.isSelected())) {
                     assertMask();
                     self.$mask.visible();
@@ -36836,7 +36836,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mousemove." + this.getName(), function (e) {
-            if (!(self.element.find(e.target).length > 0)) {
+            if (!self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover) {
                     assertMask();
                     self.$mask.invisible();
@@ -36881,7 +36881,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
                         // if (e.button === 0) {
                         $(document).bind("mouseup." + self.getName(), function (e) {
                             // if (e.button === 0) {
-                            if (BI.DOM.isExist(self) && !hand.find(e.target).length > 0 && mouseDown === true && !selected) {
+                            if (BI.DOM.isExist(self) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected) {
                                 // self.setSelected(!self.isSelected());
                                 self._trigger();
                             }
@@ -39302,7 +39302,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (!o.toggle && self.isViewVisible()) {
                                 //     return;
@@ -39328,7 +39328,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click-hover":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (self.isViewVisible()) {
                                 //     return;
@@ -39745,7 +39745,7 @@ BI.Expander = BI.inherit(BI.Widget, {
                 case "click":
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.element.find(e.target).length > 0) {
+                            if (self.expander.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -40953,7 +40953,7 @@ BI.Switcher = BI.inherit(BI.Widget, {
                 default :
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.switcher.find(e.target).length > 0) {
+                            if (self.switcher.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.switcher.isEnabled()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
@@ -54899,7 +54899,7 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
                 self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS);
             }
             $(document).bind("mousedown." + self.getName(), function (e) {
-                if (BI.DOM.isExist(self) && !(self.element.find(e.target).length > 0)) {
+                if (BI.DOM.isExist(self) && !self.element.__isMouseInBounds__(e)) {
                     $(document).unbind("mousedown." + self.getName());
                     self.content.element.blur();
                 }
@@ -98875,7 +98875,7 @@ BI.MultiSelectInsertTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -99564,7 +99564,7 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -105107,7 +105107,7 @@ BI.SearchMultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
diff --git a/dist/widget.js b/dist/widget.js
index 2c51bbd38..26b66fbba 100644
--- a/dist/widget.js
+++ b/dist/widget.js
@@ -10472,7 +10472,7 @@ BI.MultiSelectInsertTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -11161,7 +11161,7 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
@@ -16704,7 +16704,7 @@ BI.SearchMultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
diff --git a/src/base/combination/combo.js b/src/base/combination/combo.js
index b796b6898..700231cd1 100644
--- a/src/base/combination/combo.js
+++ b/src/base/combination/combo.js
@@ -147,7 +147,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (!o.toggle && self.isViewVisible()) {
                                 //     return;
@@ -173,7 +173,7 @@ BI.Combo = BI.inherit(BI.Widget, {
                     break;
                 case "click-hover":
                     var debounce = BI.debounce(function (e) {
-                        if (self.element.find(e.target).length > 0) {
+                        if (self.combo.element.__isMouseInBounds__(e)) {
                             if (self.isEnabled() && self.isValid() && self.combo.isEnabled() && self.combo.isValid()) {
                                 // if (self.isViewVisible()) {
                                 //     return;
diff --git a/src/base/combination/expander.js b/src/base/combination/expander.js
index e12e3ac94..58c3ed70b 100644
--- a/src/base/combination/expander.js
+++ b/src/base/combination/expander.js
@@ -106,7 +106,7 @@ BI.Expander = BI.inherit(BI.Widget, {
                 case "click":
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.element.find(e.target).length > 0) {
+                            if (self.expander.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.isValid() && self.expander.isEnabled() && self.expander.isValid()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
diff --git a/src/base/combination/switcher.js b/src/base/combination/switcher.js
index 6926aa028..d6c1f1300 100644
--- a/src/base/combination/switcher.js
+++ b/src/base/combination/switcher.js
@@ -103,7 +103,7 @@ BI.Switcher = BI.inherit(BI.Widget, {
                 default :
                     if (e) {
                         self.element.off(e + "." + self.getName()).on(e + "." + self.getName(), BI.debounce(function (e) {
-                            if (self.switcher.find(e.target).length > 0) {
+                            if (self.switcher.element.__isMouseInBounds__(e)) {
                                 if (self.isEnabled() && self.switcher.isEnabled()) {
                                     o.toggle ? self._toggle() : self._popupView();
                                     if (self.isExpanded()) {
diff --git a/src/base/single/button/button.basic.js b/src/base/single/button/button.basic.js
index c29a7e622..e0a4bf156 100644
--- a/src/base/single/button/button.basic.js
+++ b/src/base/single/button/button.basic.js
@@ -76,7 +76,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mouseenter." + this.getName(), function (e) {
-            if (self.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover && (o.isShadowShowingOnSelected || !self.isSelected())) {
                     assertMask();
                     self.$mask.visible();
@@ -84,7 +84,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
             }
         });
         this.element.on("mousemove." + this.getName(), function (e) {
-            if (!(self.element.find(e.target).length > 0)) {
+            if (!self.element.__isMouseInBounds__(e)) {
                 if (self.isEnabled() && !self._hover) {
                     assertMask();
                     self.$mask.invisible();
@@ -129,7 +129,7 @@ BI.BasicButton = BI.inherit(BI.Single, {
                         // if (e.button === 0) {
                         $(document).bind("mouseup." + self.getName(), function (e) {
                             // if (e.button === 0) {
-                            if (BI.DOM.isExist(self) && !hand.find(e.target).length > 0 && mouseDown === true && !selected) {
+                            if (BI.DOM.isExist(self) && !hand.__isMouseInBounds__(e) && mouseDown === true && !selected) {
                                 // self.setSelected(!self.isSelected());
                                 self._trigger();
                             }
diff --git a/src/base/single/editor/editor.textarea.js b/src/base/single/editor/editor.textarea.js
index 7a81b79e6..5e6335c5d 100644
--- a/src/base/single/editor/editor.textarea.js
+++ b/src/base/single/editor/editor.textarea.js
@@ -48,7 +48,7 @@ BI.TextAreaEditor = BI.inherit(BI.Single, {
                 self.fireEvent(BI.TextAreaEditor.EVENT_FOCUS);
             }
             $(document).bind("mousedown." + self.getName(), function (e) {
-                if (BI.DOM.isExist(self) && !(self.element.find(e.target).length > 0)) {
+                if (BI.DOM.isExist(self) && !self.element.__isMouseInBounds__(e)) {
                     $(document).unbind("mousedown." + self.getName());
                     self.content.element.blur();
                 }
diff --git a/src/base/single/single.js b/src/base/single/single.js
index 17759d7c5..56875e0c2 100644
--- a/src/base/single/single.js
+++ b/src/base/single/single.js
@@ -77,7 +77,7 @@ BI.Single = BI.inherit(BI.Widget, {
             });
             this.element.on("mousemove.title" + this.getName(), function (e) {
                 self._e = e;
-                if (!(self.element.find(e.target).length > 0)) {
+                if (!self.element.__isMouseInBounds__(e)) {
                     if (BI.isNotNull(self.timeout)) {
                         clearTimeout(self.timeout);
                     }
diff --git a/src/core/func/dom.js b/src/core/func/dom.js
index 2b8e2e7a0..08ad22d6e 100644
--- a/src/core/func/dom.js
+++ b/src/core/func/dom.js
@@ -119,9 +119,11 @@ BI.extend(jQuery.fn, {
     },
 
     __isMouseInBounds__: function (e) {
-        var offset2Body = this.offset();
-        return !(e.pageX < offset2Body.left || e.pageX > offset2Body.left + this.outerWidth()
-        || e.pageY < offset2Body.top || e.pageY > offset2Body.top + this.outerHeight());
+        var offset2Body = this.get(0).getBoundingClientRect ? this.get(0).getBoundingClientRect() : this.offset();
+        var width = offset2Body.width || this.outerWidth();
+        var height = offset2Body.height || this.outerHeight();
+        return !(e.pageX < offset2Body.left || e.pageX > offset2Body.left + width
+        || e.pageY < offset2Body.top || e.pageY > offset2Body.top + height);
     },
 
     __hasZIndexMask__: function (zindex) {
diff --git a/src/widget/multiselect/multiselect.insert.trigger.js b/src/widget/multiselect/multiselect.insert.trigger.js
index c9c1290d7..8fb557ab5 100644
--- a/src/widget/multiselect/multiselect.insert.trigger.js
+++ b/src/widget/multiselect/multiselect.insert.trigger.js
@@ -110,7 +110,7 @@ BI.MultiSelectInsertTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
diff --git a/src/widget/multiselect/multiselect.trigger.js b/src/widget/multiselect/multiselect.trigger.js
index 74241fc25..b7d62cf4c 100644
--- a/src/widget/multiselect/multiselect.trigger.js
+++ b/src/widget/multiselect/multiselect.trigger.js
@@ -107,7 +107,7 @@ BI.MultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });
diff --git a/src/widget/searchmultitextvaluecombo/multitextvalue.combo.trigger.search.js b/src/widget/searchmultitextvaluecombo/multitextvalue.combo.trigger.search.js
index 9c6168d2e..66a11f7d1 100644
--- a/src/widget/searchmultitextvaluecombo/multitextvalue.combo.trigger.search.js
+++ b/src/widget/searchmultitextvaluecombo/multitextvalue.combo.trigger.search.js
@@ -101,7 +101,7 @@ BI.SearchMultiSelectTrigger = BI.inherit(BI.Trigger, {
         });
 
         this.element.click(function (e) {
-            if (self.element.find(e.target).length > 0 && !self.numberCounter.element.find(e.target).length > 0) {
+            if (self.element.__isMouseInBounds__(e) && !self.numberCounter.element.__isMouseInBounds__(e)) {
                 self.numberCounter.hideView();
             }
         });