2010-11-02 2 views
0

Некоторые плохие браузеры не позволяют делать следующее:в JavaScript нажмите()

<input type="file" id="file_input" /> 

document.getElementById('file_input').click(); 

Можно ли как-то узнать, если клик разрешен или нет?

+1

Я думаю, что ответ будет * использовать jQuery *: '$ (" # file_input "). Click();' –

+0

jQuery не является таким мощным = lol – Soverin

ответ

1

Я не совсем уверен, что вы после этого, но вы можете проверить, если он там перед вызовом, как это:

var c = document.getElementById('file_input').click; 
if(c) c(); 

Хотя, там, наверное, гораздо лучше идти о том, что вы делать .... Я говорю это, потому что большинство браузеров заблокирует вас, пытаясь автоматически открыть диалоговое окно файла (though IE will allow it ... в котором все эти нестандартные функции .click() запущены).

+0

Firefox и Opera имеют '.click()' anyways , хотя он, похоже, не открывает диалог выбора файла. И я бы не сказал большинство браузеров; только эти два препятствуют автоматическому открытию диалога таким образом. – PleaseStand

+0

Chrome, Safari и IE позволяют это. – Soverin

+0

@Spa - они позволяют '.click()' да, но не открывают диалоговое окно файла, проверьте его здесь: http://jsfiddle.net/nick_craver/nHY9K/ –

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