Proszę o pomoc w dość pilnej sprawie.
Mam div'a i ładuję do niego zawartość skryptem java o wdzięcznej nazwie Ezjax (czyli Ajax oparty na jQuery).
( http://www.milaju.com/post/simple-ajax-con...nger-with-ezjax )
Wszystkie linki wewnątrz załadowanej zawartości, jeśli przypisze się do nich klasę "ezjax" lub ustawi odpowiednią opcję, ładują zawartość wewnątrz okna Ajax'owego. Mam jednak ogromny problem z linkami przypisanymi do tagu <area>, a bardzo ich potrzebuję :/ Po kliknięciu ich, nowa zawartość ładuje się w głównym oknie przeglądarki...
Nie jestem znawcą JavaScript'u, ani jQuery, więc sam nie jestem w stanie odpowiednio zmodyfikować skryptu. Proszę o pomoc

Tak wygląda kod pliku jquery.ezjax.js
/* * * jQuery EZJax v. 1.0.1 * * */ jQuery.fn.ezjax = function(o) { obj = jQuery(this).attr('class'); // Defaults var o = jQuery.extend( { container: '#ezjax_content', initial: null, effect: null, speed: 'normal', easing: null, bind: '.'+obj },o); // Load initial if(o.initial!=null){ jQuery(o.container).load(o.initial,function(){ bind(); }); } // Re-bind for any links internal to the content function bind(){ jQuery(o.container+' '+o.bind).ezjax({ container: o.container, initial: null, effect: o.effect, speed: o.speed, easing: o.easing }); } // Main functionality return this.each(function() { jQuery(this).click(function(){ var url = jQuery(this).attr('href'); // Check for transition effect if (o.effect != null) { // Run effect switch(o.effect){ // Slide case 'slide': jQuery(o.container).animate({height:"0px"}, o.speed, function(){ jQuery(o.container).css('overflow','hidden'); // Fix glitchies jQuery(o.container).load(url, function(){ jQuery(o.container).animate({ height: jQuery(o.container).children().height() + 20 },o.speed,o.easing,function(){ jQuery(o.container).css('overflow','visible'); // Undo glitchy fix }); bind(); }); }); break; // Fade case 'fade': jQuery(o.container).animate({ opacity: 0.0 }, o.speed, function(){ jQuery(o.container).load(url, function(){ jQuery(o.container).animate({ opacity: 1.0 }, o.speed); bind(); }); }); break; } } else { // Standard load (no effect) jQuery(o.container).load(url,function(){ bind(); }); } // Keeps the href from firing return false; }); }); };
A tak krótki fragment w sekcji <head> pliku strony:
$(document).ready(function(){ $('.ezjax').ezjax({ container: '#BOX_FLATS_CONTAINER', initial: 'body_flats_viewer.php?type=general', effect: 'fade', easing: 'easeOutQuart', bind: 'a' }); });
Dodam, że pozmianie paramteru 'bind' (we fragmencie kodu z sekcji <head> strony) na 'area', link również nie działa poprawnie.
---
Po testach sprawa wygląda tak - w normalnych warunkach wszystko działa sprawnie (na testowym demo), jednak w stronie, którą robię do tagów <map><area> przypisany jest skrypt JavaScript, który dodaje efekt podświetlenia po najechaniu myszą, a w praktyce tworzy element <canvas> nad całym obrazkiem, dlatego kliknięcie <area> nie działa tak, jak powinno normalnie.
Wszystkie skrypty tworzące efekt podświetlenia elementów <area> działają podobnie, więc tego nie obejdę. Mogę jednak spróbować zmienić powyższy kod jquery.ezjax.js tak, aby każdy link w div'ie Ajaxa ładowany był wewnątrz tego div'a. I teraz o to właśnie proszę

Dzięki!