I'm using blockUI to show a tooltip generated by another jquery plugin
and I'm having problem with the links that are inside it. I've patched
blockUI to accept an selector or a jquery object to exclude those from
being blocked:

Index: jquery.blockUI.js
===================================================================
--- jquery.blockUI.js   (revision 456)
+++ jquery.blockUI.js   (working copy)
@@ -202,6 +202,8 @@
     boxCallback: null,
     pageBlock: null,
     pageBlockEls: [],
+       // Selector that should not be blocked
+       blockExcept: '',
     op8: window.opera && window.opera.version() < 9,
     ie6: $.browser.msie && /MSIE 6.0/.test(navigator.userAgent),
     install: function(el, msg, css, opts) {
@@ -209,6 +211,9 @@
         this.boxCallback = typeof opts.displayMode == 'function' ?
opts.displayMode : null;
         this.box = opts.displayMode ? msg : null;
         var full = (el == window);
+               if (opts.blockExcept) {
+                       this.blockExcept = opts.blockExcept;
+               }

         // use logical settings for opacity support based on browser
but allow overrides via opts arg
         var noalpha = this.op8 || $.browser.mozilla && /
Linux/.test(navigator.platform);
@@ -338,7 +343,7 @@
         // don't bother unbinding if there is nothing to unbind
         if (!b && (full && !this.pageBlock || !full && !el.$blocked))
return;
         if (!full) el.$blocked = b;
-        var $e = $(el).find('a,:input');
+        var $e = $(el).find('a,:input').not($
($.blockUI.impl.blockExcept));
         $.each(['mousedown','mouseup','keydown','keypress','click'],
function(i,o) {
             $e[b?'bind':'unbind'](o, $.blockUI.impl.handler);
         });

Reply via email to