.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的新手,所以可能缺少一些简单的东西。谢谢!
答案 0 :(得分:0)
尝试使用老式的javascript方法而不是jQuery
。 jQuery
在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>