firefox中的OnClick函数问题

时间:2015-05-25 07:43:22

标签: javascript jquery firefox

我在外部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 正常运行。

2 个答案:

答案 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>