diff --git a/extlink.js b/extlink.js
index 4ec6568..c8dc721 100644
--- a/extlink.js
+++ b/extlink.js
@@ -104,12 +104,19 @@ function extlinkAttach(context) {
     $(external_links).attr('target', Drupal.settings.extlink.extTarget);
   }
 
-  if (Drupal.settings.extlink.extAlert) {
-    // Add pop-up click-through dialog.
-    $(external_links).click(function(e) {
-     return confirm(Drupal.settings.extlink.extAlertText);
-    });
-  }
+  Drupal.extlink = Drupal.extlink || {};
+
+  // Set up default click function for the external links popup. This should be
+  // overridden by modules wanting to alter the popup.
+  Drupal.extlink.popupClickHandler = Drupal.extlink.popupClickHandler || function() {
+    if (Drupal.settings.extlink.extAlert) {
+      return confirm(Drupal.settings.extlink.extAlertText);
+    }
+   }
+  
+  $(external_links).click(function(e) {
+    return Drupal.extlink.popupClickHandler(e);
+  });
 
   // Work around for Internet Explorer box model problems.
   if (($.support && !($.support.boxModel === undefined) && !$.support.boxModel) || ($.browser.msie && parseInt($.browser.version) <= 7)) {
