IE11上未触发按钮单击功能

时间:2019-05-21 10:06:47

标签: javascript internet-explorer onclick click internet-explorer-11

.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可以识别按下Enter键和按钮的功能,但是似乎无法处理click()函数。有没有解决的办法?

我在SO上尝试了其他选项,例如on('click', function(),但没有成功,并认为我可能会从错误的角度出发。

JS的新手,所以可能缺少一些简单的东西。谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用老式的javascript方法而不是jQueryjQuery在Internet Explorer可能不了解的情况下使用了许多新的ES6方法。

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();

        }

    });
}

答案 1 :(得分:0)

如果您想使用JQuery选择器为多个HTML元素附加javascript事件,则需要在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>