jQuery on change 在输入文件元素上触发两次
jQuery on change fires twice on input file elements
我有 2 个文件输入问题:
<span class="btn btn-info btn-file" id="a">
Selecteer afbeeldingen
<input accept="image/gif,image/jpeg,image/png" multiple="multiple" id="btn-file-images" name="media[]" type="file">
</span>
<span class="btn btn-info btn-file" id="b">
Selecteer media
<input accept=".csv,application/vnd.ms-excel,application/msword,application/pdf,application/x-rar-compressed,application/zip,image/vnd.adobe.photoshop,application/illustrator" multiple="multiple" id="btn-file-media" name="media[]" type="file">
</span>
使用 jQuery 我在 .btn 文件输入上放置了一个事件监听器
var uploadTab = $('#upload')
, tabForms = $('.tab-pane form', uploadTab)
, fileInputHandler = function fileInputHandler () {
var input = $(this)
, numFiles = input.get(0).files ? input.get(0).files.length : 1
, label = input.val().replace(/\/g, '/').replace(/.*\//, '');
handleFiles(this, this.files);
}
tabForms.on('change', '.btn-file input', fileInputHandler);
问题在于,在一页上使用 thise 2 .btn-file 类 会触发函数两次。我试图将事件分别放在 ID 的 "a" 和 "b" 上,但没有成功。当我注释掉其中一个输入时它工作正常,它会触发一次。
我也更改了其中之一的名称属性,但也没有成功。
还有另一个关于 Whosebug 的主题值得尝试,因为我很绝望,但也没有用。
jQuery change event fired twice when giving focus to another control inside the change callback
javascript 文件似乎包含了两次
我有 2 个文件输入问题:
<span class="btn btn-info btn-file" id="a">
Selecteer afbeeldingen
<input accept="image/gif,image/jpeg,image/png" multiple="multiple" id="btn-file-images" name="media[]" type="file">
</span>
<span class="btn btn-info btn-file" id="b">
Selecteer media
<input accept=".csv,application/vnd.ms-excel,application/msword,application/pdf,application/x-rar-compressed,application/zip,image/vnd.adobe.photoshop,application/illustrator" multiple="multiple" id="btn-file-media" name="media[]" type="file">
</span>
使用 jQuery 我在 .btn 文件输入上放置了一个事件监听器
var uploadTab = $('#upload')
, tabForms = $('.tab-pane form', uploadTab)
, fileInputHandler = function fileInputHandler () {
var input = $(this)
, numFiles = input.get(0).files ? input.get(0).files.length : 1
, label = input.val().replace(/\/g, '/').replace(/.*\//, '');
handleFiles(this, this.files);
}
tabForms.on('change', '.btn-file input', fileInputHandler);
问题在于,在一页上使用 thise 2 .btn-file 类 会触发函数两次。我试图将事件分别放在 ID 的 "a" 和 "b" 上,但没有成功。当我注释掉其中一个输入时它工作正常,它会触发一次。
我也更改了其中之一的名称属性,但也没有成功。
还有另一个关于 Whosebug 的主题值得尝试,因为我很绝望,但也没有用。
jQuery change event fired twice when giving focus to another control inside the change callback
javascript 文件似乎包含了两次