我在結果頁上有一個輸入字段。我用了以下事件:搜索按鈕不起作用
onkeypress="if (event.keyCode == 13) {document.getElementById('results-search').click()}"
的問題是,當我執行搜索,沒事的時候我點擊搜索按鈕發生。當我點擊或按下輸入時,它不起作用。這隻發生在Mozilla Firefox和Microsoft Edge上,但在Chrome瀏覽器上正常運行。請幫忙
我在結果頁上有一個輸入字段。我用了以下事件:搜索按鈕不起作用
onkeypress="if (event.keyCode == 13) {document.getElementById('results-search').click()}"
的問題是,當我執行搜索,沒事的時候我點擊搜索按鈕發生。當我點擊或按下輸入時,它不起作用。這隻發生在Mozilla Firefox和Microsoft Edge上,但在Chrome瀏覽器上正常運行。請幫忙
event.keyCode
某些瀏覽器可能不支持該屬性。嘗試使用event.keyCode || event.which
代替:
onkeypress="if ((event.keyCode || event.which) == 13) {document.getElementById('results-search').click()}"
如果使用jQuery
如果使用keyCode
或which
財產不要緊,他們都將工作。您添加了jquery
標記,但您沒有在代碼中使用它。
順便說一句。處理按鈕的click
事件不是更好嗎?在我看來,它會看起來更優雅。將JavaScript代碼與HTML分開也很好。
document.getElementById('input-search').onkeypress = function(e)
{
if ((e.which || e.keyCode) === 13)
search();
};
document.getElementById('results-search').onclick = search;
function search()
{
//do something...
}
非常感謝您的回覆,我已經嘗試過,但仍然無效。 – albertgeorge253
你能否提出另一種選擇?謝謝 – albertgeorge253
您是否將輸入的ID更改爲您正在使用的ID? 「輸入搜索」只是一個例子。控制檯是否顯示任何錯誤?沒有看到完整的代碼很難說出什麼問題。 –
爲什麼'.click()'?調用點擊處理程序,而不是... – Rayon
請注意,結果顯示在同一頁面上,除了邊緣和firefox外Chrome瀏覽器一切正常。 – albertgeorge253
請不要在線JS,可怕的做法。另外,如果您使用JQuery,爲什麼不使用'$('#results-search')'作爲選擇器。似乎加載它並沒有使用它有點沒有意義。 – Novocaine