2014-01-20 2 views
0

Как я могу инициировать событие с одним кликом в IE? Он работает отлично в Хром и FF, но не работает в IE 8,9,10Как вызвать событие ввода событий в IE

Мой HTML:

<div class="qq-uploader"> 
    <div class="qq-upload-button" 
     style="position: relative; overflow: hidden; direction: ltr;" 
     id="sizcache07400451357324745"> 
     Click here to upload Image 
     <input type="file" multiple="multiple" name="file" style="position: absolute; right: 0px; top: 0px; font-family: Arial; font-size: 450px; margin: 0px; padding: 0px; cursor: pointer; opacity: 0;"> 
    </div> 
</div> 

JQuery:

$(".qq-upload-button").each(function(){ 
    $(this).click(function(e){ 
    $(this).find('input[type="file"]').trigger('click'); 
    return false; 
    }); 
}); 
+0

Входной триггер нажмите непоследовательно во всех браузерах (http://stackoverflow.com/questions/210643/в-JavaScript-могу-я-делать-а-клик-события противопожарным программно-для-а-файл-вход). Я бы предложил заменить .qq-upload-button div на ярлык, поэтому он вызовет внутренний ввод. –

ответ

1

Вы можете диалог не открытым программным FileUpload для элемента ввода файла во всем браузере. См. Это answer для получения дополнительной информации.

Лучше всего это сделать, используя force use click on file upload control.

Также вы добавляете обработчик $(".qq-upload-button") в каждом цикле, вы можете добавить обработчики по on методу сразу:

$(".qq-upload-button").on('click', function(e){ 
    $(this).find('input[type="file"]').trigger('click'); 
}); 
+0

Извините! он вызывает событие click, но диалоговое окно загрузки файлов не открывается. Зачем? – Sadikhasan

+0

напишите html-код в другом месте, попробуйте один раз. если это проблема с css, т.е. проблема с js. я не уверен, что однажды попробую помочь вам – sarath

+0

Я отредактировал свой ответ. Вы можете получить дополнительную информацию по этому вопросу [вопрос и ответы] (http://stackoverflow.com/questions/210643/in-javascript-can-i-make-a-click-event-fire-programmatically-for-a-file -input). Я также рассказал вам, как сделать более короткий пример кода. – Pinal

Смежные вопросы