Make sure we don't attach alert handler multiple times
authorTom Hughes <tom@compton.nu>
Tue, 21 Feb 2012 19:22:01 +0000 (19:22 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 21 Feb 2012 19:22:01 +0000 (19:22 +0000)
Before adding a "not zoomed in enough" alert handler, make sure any
existing handler is removed. Fixes #17.

app/assets/javascripts/site.js

index 0ae8d5a02e716ba083906ba92855e90916f6d314..93a5127f9ed85ba316c94cf7323505ad0e6e6d84 100644 (file)
@@ -45,12 +45,13 @@ function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,objtype,obj
         var minzoom = match[1];
         var name = link.id.replace(/anchor$/, "");
 
+        $(link).off("click.minzoom");
+
         if (zoom >= minzoom) {
-          $(link).off("click");
           $(link).attr("title", i18n("javascripts.site." + name + "_tooltip"));
           $(link).removeClass("disabled");
         } else {
-          $(link).click(function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; });
+          $(link).on("click.minzoom", function () { alert(i18n("javascripts.site." + name + "_zoom_alert")); return false; });
           $(link).attr("title", i18n("javascripts.site." + name + "_disabled_tooltip"));
           $(link).addClass("disabled");
         }