我在外部js文件中使用以下编码
$( document ).ready(function() {
var elem='<img class="imgload" src="/common/images/spinLoader/transperent.png">';
$('.imgchange').append(elem);
});
$(function(){
$('.hid').click(function(){
$('.imgload').attr('src',"/common/images/spinLoader/loader_icon.gif");
var link = $(this);
if(link.hasClass('disabled'))
{
return false;
}
else
{
link.addClass('disabled');
}
});
});
在HTML中
<td><a class="hid" href="somelink.jsp"></a></td><td class="imgchange"></td>
整个设置是禁用链接,并在用户单击链接后显示旋转加载图标。
问题是,IFirefox38.0.1链接是禁用的,但是图像在第一次单击时不会更改为加载图标。如果我单击另一个时间,只有图像正在更改.
我与调试器进行了检查,当我运行调试器时,图像在第一次单击时正在更改。
我试着将onclick
函数放入$( document ).ready()
中,但它不起作用。
FYI: -在Chrome 43.0.2357.65m和IE11中没有问题。
发布于 2015-05-24 23:55:43
HTML元素的格式不正确,"“应该在”范围“内移动,”应该是“,也许这就是问题所在。
发布于 2015-05-26 02:57:10
我试着用以下方法重现你的问题:
firefox 38.0.1-1 (linux机器)。
我让它按你的意愿工作,所以我不知道你的问题出在哪里。我可以提出一个小小的改变,也许是导致这个问题的原因:
<td><a class="hid" href="somelink.jsp"></a></td><td class="imgchange"></td>
删除href,因为对拥有函数(HTML)的元素使用.click()函数是没有意义的。
<html>
<head>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<style>
.imgchange{ width: 100px; height: auto; }
</style>
</head>
<body>
<table>
<tr><td><a class="hid" onclick="myFunction('link2.html');">Click me!</a></td><td class="imgchange"></td></tr>
</table>
<script type="text/javascript">
$(document).ready(function() {
var elem = '<img class="imgload" src="http://m.mexicodesconocido.com.mx/images/lazy-thumb.gif">';
$('.imgchange').append(elem);
});
function myFunction(link){
$('.imgload').attr('src',"http://www.deckers.com/wp-content/plugins/simplemap/inc/images/loading.gif");
if($(this).hasClass('disabled'))
{
return false;
}
else
{
$(this).addClass('disabled');
}
location.href = link;
}
</script>
</body>
</html>
https://stackoverflow.com/questions/30433430
复制