2012-01-20 2 views
0

Я использую JQuery 1.2.6 :(Убедитесь, что изображение загружено в функцию Jquery click перед переходом на новую страницу.

Когда пользователь нажимает на Html элемент с ID = LinkId и имеющий якоря теги, он будет перенаправлен на новую страницу. Я хочу, чтобы убедиться, что небольшое изображение забирается перед браузер переходит на другую страницу.

есть ли способ, с помощью функции обратного вызова или любой другой механизм в JQuery.

HTML: 
<div id="LINKID"><a href="link location"> </a></div> 


SCRIPT: 
jQuery("#LINKID a").click(function(){ 
var url = "Image location"; 
(new Image()).src = url; 
}); 

Если добавить хак, как это после того, как во фрагменте кода выше.

jQuery("#LINKID a").click(function() { return false; }); 

Я могу видеть изображение является неправдоподобным, но будет ли это остановить функциональные возможности, связанные с тегом

+0

После того как ссылка была нажата, изображение должно быть загружено и только после того, как этот пользователь должен быть перенаправлен на страницу с атрибутом 'href'? Это то, что вы имеете в виду? –

+0

Thats correct .. – Ron

ответ

1

Попробуйте

jQuery("#LINKID a").click(function(){ 
    var url = "Image location"; 

    jQuery('<img />') 
    .appendTo(document.body) 
    .load(function(){ 
     //Once the image is loaded unbind the click even handler and 
     //then let the link follow its url 
     jQuery("#LINKID a").unbind('click')[0].click(); 
    }) 
    .attr('src', url); 
}); 
+0

Спасибо ShankarSangoli .. Я пробовал это, но это не сработало. Любые мысли для работы вокруг – Ron

+0

@Ron - Что происходит с этим кодом? Вы видите, что изображение загружается? – ShankarSangoli

+0

Браузер открыл страницу, определенную в href тегов привязки. Не удалось получить запрос запроса url в net tab firebug. Будет ли jQuery ('') создать анонимный объект изображения? – Ron

0

Это один работает во всех браузерах. Пришлось добавить отметку времени к URL-адресу

jQuery("#LINKID a").click(function() {    

var url = "Image Location"; 
    url += "&_=" + (+new Date()); 

var img = new Image(); 

img.onload = function() { 

      window.location = jQuery(this).attr("href"); 

     }; 

    img.src = url;  

    return false; 

}); 
Смежные вопросы