从jQuery 1.9开始,文件选择更改事件不会在旧Firefox中冒泡/传播。在jQuery 1.8中很好,但在jQuery 1.9中停止工作。jQuery 1.9不会在旧Firefox中冒泡文件选择/更改事件
下面是一个例子:
<ul class="result"></ul>
<div class="wrapper">
<input class="file_input" name="file" type="file" />
</div>
<script>
$('.wrapper').on('change', '.file_input', function() {
$('.result').append('<li>file selected</li>');
});
</script>
下面是使用jQuery 1.8小提琴,演示了我如何期望行为的工作:
在所有的浏览器(包括Firefox 3.6)每次我选择一个文件时,input [type = file]元素上的change事件就会冒泡。
下面是使用jQuery 1.9的相同示例。使用Firefox 3.6,更改事件不再起泡。这似乎在Firefox中正常工作18+,但:
这使我2个问题:
1)什么版本的Firefox这是否停止工作?
2)有没有办法解决这个问题?
你尝试的jQuery迁移的方法是什么? 使用旧的jQuery版本,但使新版本工作: https://github.com/jquery/jquery-migrate/#readme –