тип входного файла в Opera - PullRequest
1 голос
/ 09 мая 2011

Я пытался запускать события onkeydown, onkeypress и onkeyup при вводе файла (например, когда элемент находится в фокусе и нажата клавиша, события не запускаются), но они не работают в Opera.Запуск 'click' с помощью jQuery тоже не работает (например, $ ('# myFileinput'). Click () или $ ('# myFileinput'). Trigger ('click')).

Естьспособ вызвать эти события в Opera?

Вот мой код:

 <input type="file" class="foo" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
<script type="text/javascript">
    debugger;
    window.onload = onPageLoad;
    function onPageLoad() {

        var input = $(".foo");
        debugger;
        input.keydown(function () {
            //doesn't work in Opera
            alert("keydown");
        });

        input.keypress(function () {
            //doesn't work in Opera
            alert("keypress");
        });

        input.keyup(function () {
            //doesn't work in Opera 
            alert("keyup");
        })
    }

    window.onkeydown = function () {
        //when the focus is on the input the code bellow doesn't fire
        alert("window key down")

    }

</script>

1 Ответ

4 голосов
/ 17 мая 2011

Из-за политик безопасности ограничено, какие события Opera генерирует для типа ввода = файл. Кроме того, в новых версиях Opera при фокусировке ввода будет выведено диалоговое окно файла, поэтому никакие ключевые события в любом случае не будут срабатывать при вводе. Если вам нужно знать, когда значение изменяется, прослушайте событие change.

...