解决IE7错误"input type=file"两次更改火?



你遇到过IE7的bug吗?

<input type="file" id="xxx">
<script> 
     $('#xxx').change(function(){ alert(1) })
</script>

当我点击输入&选择一个文件,警报框第一次显示。然后我点击主体上的空白区域,警报框再次显示。即使我使用JQuery 1.6(目前最新的)将change事件绑定到input:file时,也会发生这种情况。

我怎样才能用最简单的方法来防止这种情况呢?谢谢你的建议!

这是我经过几个小时的脑力激荡后的成果:

$('input:file').click(
    function(){
         $(this).one(
              'change',
              function(){ alert(1) /*do stuff here*/ }
         )
    }
)

每次用户点击输入选择文件时,我们将事件"change"绑定一次。因此,每当用户想要选择一个文件时,该事件就会触发一次。

感谢上帝,它有效!谢谢大家。

我只会在函数运行后取消绑定触发器

最新更新