我在外部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>
整个设置是在用户点击链接后禁用链接并显示旋转加载图标。
问题是我的firefox 38.0.1链接被禁用但图像在第一次点击时没有改为加载图标。 如果我再点击一次图像正在变化。
我检查了调试器,当我通过调试器时,图像在第一次点击时发生了变化
我尝试将onclick
函数放在它不起作用的$( document ).ready()
内。
仅供参考: Chrome版本 - 43.0.2357.65 m 和 IE 11 正常运行。
答案 0 :(得分:1)
您的HTML元素格式不正确,“”应该在“”范围内移动,“”应该是“”,也许这就是问题。
答案 1 :(得分:1)
我尝试使用以下方式重现您的问题:
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>