2012-02-26 54 views
1

林:http://jquery.malsup.com/form/#getting-started輸入型使用jQuery的AJAX文件上傳= 「文件」 onchange事件,跨瀏覽器解決方案

<input type="file" id="foo" name="foo" /> 

我的問題是,jQuery的變化不會觸發事件:

$('#foo').change(function(){ 
    console.log('change'); 
}); 

我也嘗試過使用on('change', function(){ })方法,但沒有成功。

任何幫助表示讚賞。謝謝

+0

不在哪個瀏覽器中啓動?你看[2133807](http://stackoverflow.com/questions/2133807/alternate-to-onchange-event-in-input-type-file)? – h0tw1r3 2012-02-26 18:44:09

+0

我在Firefox中做了測試。 @Ktash我想這與插件有關 – Johan 2012-02-26 18:48:06

+0

你用這個插件完成了什麼?它添加的很多功能(如'serialize')是最新jQuery中的標準功能。另外,因爲我刪除了我的評論,所以[測試用例]再次(http://jsfiddle.net/NnMKg/)。 – Ktash 2012-02-26 18:51:38

回答

0

它可能是你的問題出在綁定的順序。

Here是我用來測試的jsFiddle。我已將該插件鏈接到此解決方案,並且似乎只有在.ajaxForm之前完成綁定後纔會觸發更改事件。

讓我知道如果這不能解決您的問題。

+0

實際上[它可以](http://jsfiddle.net/NdVyJ/4/)(在Chrome和FF 9中測試過),但我不得不修復表單url。 – h0tw1r3 2012-02-26 21:02:37

0

試試這個。不知道它不好用.live,但對我的作品,當正常的方式dosnt

$('#foo').live('change',function(){ 
    alert('change'); 
}); 
相關問題