/te-6ren">
gpt4 book ai didi

javascript - 如何确保在 HREF 触发之前下载并显示图像?

转载 作者:行者123 更新时间:2023-12-02 19:32:07 24 4
gpt4 key购买 nike

我有这个代码:

function Imagehover(obj,img){               
jQuery("#"+obj.id).attr("src","<?php echo $this->baseurl ?>/templates/codecraft.gr/images/"+img+".png");
}
function Imageclick(obj,img){
jQuery("#"+obj.id).attr("src","<?php echo $this->baseurl ?>/templates/codecraft.gr/images/"+img+".png");
}
function Imageout(obj,img){
jQuery("#"+obj.id).attr("src","<?php echo $this->baseurl ?>/templates/codecraft.gr/images/"+img+".png");
}

<a href="<?php echo JURI::root(); ?><?php echo $langsefs->sef;?>"><img id="<?php echo $langsefs->sef;?>flag" style="height: 40px;margin-right: 10px;width: 47px;" src="<?php echo JURI::root(); ?>/templates/codecraft.gr/images/<?php echo $langsefs->sef; ?>_flag.png" onclick="Imageclick(this,'<?php echo $langsefs->sef; ?>_flag_pressed')" onmouseout="Imageout(this,'<?php echo $langsefs->sef; ?>_flag')" onmouseover="Imagehover(this,'<?php echo $langsefs->sef; ?>_flag_over')" alt="<?php echo $langsefs->sef; ?>"/></a>

但是当我单击该标志时,图像就会消失,然后 href 的重定向会执行到新页面。当我删除图像的onclick事件

function Imageclick(obj,img){                               
//jQuery("#"+obj.id).attr("src","<?php echo $this->baseurl ?>/templates/codecraft.gr/images/"+img+".png");
}

图像不会消失。所以我认为 onclick 事件会触发并尝试从服务器获取图像,但由于 href 也被执行,因此图像没有机会到达用户的浏览器,因为页面重定向已经开始。

如何确保图像下载到用户的浏览器,然后进行重定向,而不需要删除 href 属性?

最佳答案

您可以使用event.preventDefault():

If this method is called, the default action of the event will not be triggered.

$('a').click(function(e){
e.preventDefault();
var href = $(this).attr('href');
$("#"+obj.id).attr("src","<?php echo $this->baseurl ?>/templates/codecraft.gr/images/"+img+".png").promise().done(function(){
window.location = href;
})
})

关于javascript - 如何确保在 HREF 触发之前下载并显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11369216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com