Функция нажатия кнопки не запускается в IE11 - PullRequest
0 голосов
/ 21 мая 2019
Функция

.click () выполняется во всех браузерах, кроме IE11. Мне интересно, если IE не может поддерживать этот метод из-за использования более старой версии JS или JQuery:

function bindSearchInputToBtn() {
    $('#joblist-search-partial #textValue').keyup(function (e) {

        //Enter key event 
        if (e.keyCode === 13 || e.which === 13) {

            $('#joblist-search-partial .search-button .btn-primary').click();

        }

    });
}

IE распознает нажатие кнопки ввода, а также кнопку, но, похоже, не в состоянии обработать функцию click (). Это можно обойти?

Я пробовал другие варианты на SO, например, on('click', function(), однако, не увенчался успехом, и думаю, что я могу прийти к нему под неправильным углом.

Новичок в JS, поэтому может быть упущено что-то простое. Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

Если вы хотите прикрепить событие javascript для нескольких элементов Html, используя селектор JQuery, вам нужно добавить ',' между селектором JQuery . Пожалуйста, обратитесь к следующему коду:

<head>
    <meta charset="utf-8" />
    <title></title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
        function bindSearchInputToBtn() {
            $('#joblist-search-partial,#textValue').keyup(function (e) {               
                //Enter key event
                if (e.keyCode === 13 || e.which === 13) {
                    $('#joblist-search-partial, .search-button, .btn-primary').click();
                }
            });
            $('#joblist-search-partial, .search-button, .btn-primary').click(function () {
                alert($(this).val())
            });
        }
    </script>
</head>
<body onload="bindSearchInputToBtn();">
    <input id="joblist-search-partial" type="text" /><br />
    <input id="textValue" type="text" /><br />
    <button class="btn search-button" type="button" value="Search" >Search</button>
    <button class="btn btn-primary" type="button" value="Submit" >Submit</button>

</body>
0 голосов
/ 21 мая 2019

Попробуйте использовать методы javascript старой школы вместо jQuery.jQuery использует множество новых ES6 методов за кулисами, которые Internet Explorer может не знать.

function bindSearchInputToBtn() {
    $('#joblist-search-partial #textValue').keyup(function (e) {

        //Enter key event 
        if (e.keyCode === 13 || e.which === 13) {

            let joblist = document.getElementById('#joblist-search-partial');
            let btn-primary = joblist.childNodes[0].childNodes[0] //<-- Assuming that .search-button is the first child of #joblist-search-partial and .btn-primary of .search-button
            btn-primary.click();

        }

    });
}
...