Некоторые плохие браузеры не позволяют делать следующее:в JavaScript нажмите()
<input type="file" id="file_input" />
document.getElementById('file_input').click();
Можно ли как-то узнать, если клик разрешен или нет?
Некоторые плохие браузеры не позволяют делать следующее:в JavaScript нажмите()
<input type="file" id="file_input" />
document.getElementById('file_input').click();
Можно ли как-то узнать, если клик разрешен или нет?
Я не совсем уверен, что вы после этого, но вы можете проверить, если он там перед вызовом, как это:
var c = document.getElementById('file_input').click;
if(c) c();
Хотя, там, наверное, гораздо лучше идти о том, что вы делать .... Я говорю это, потому что большинство браузеров заблокирует вас, пытаясь автоматически открыть диалоговое окно файла (though IE will allow it ... в котором все эти нестандартные функции .click()
запущены).
Firefox и Opera имеют '.click()' anyways , хотя он, похоже, не открывает диалог выбора файла. И я бы не сказал большинство браузеров; только эти два препятствуют автоматическому открытию диалога таким образом. – PleaseStand
Chrome, Safari и IE позволяют это. – Soverin
@Spa - они позволяют '.click()' да, но не открывают диалоговое окно файла, проверьте его здесь: http://jsfiddle.net/nick_craver/nHY9K/ –
Я думаю, что ответ будет * использовать jQuery *: '$ (" # file_input "). Click();' –
jQuery не является таким мощным = lol – Soverin