0
私はウィキペディアの記事を検索するページを作成しました。ボタン検索をクリックしたとき、または入力フォームの中でEnterキーを押すと、ページ検索が必要になります。問題は、Enterキーが最初にボタンの検索をクリックした場合にのみ機能することです。なぜですか?jqueryのkeypressイベントが正常に動作しない
ページ:http://codepen.io/Juan1417/pen/XNJeWd
$(document).ready(function(){
$("#searchTerm").keypress(function(e){
if(e.which==13) $("#search").click();
});
$("#search").click(function(){
var searchTerm=$("#searchTerm").val();
var url="https://en.wikipedia.org/w/api.php?action=opensearch&search="+searchTerm+"&format=json&callback=?";
$.ajax({
type:"GET",
url:url,
async:false,
dataType:"json",
success:function(data){
for(var i=0;i<data[1].length;i++){
$("#output").prepend("<li><a href="+data[3][i]+" target='_blank'>"+data[1][i]+"</a><br><span>"+data[3][i]+"</span><br>"+data[2][i]+"</p></li>");
}
},
error:function(errorMessage){
alert(errorMessage);
}
});
});
});
stopPropagationとは何ですか? – Juan
'stopPropagation'は、キャプチャフェーズとバブリングフェーズでの現在のイベントのさらなる伝播を防ぎます。 (https://developer.mozilla.org/en/docs/Web/API/Event/stopPropagation) 代わりに 'preventDefault'を使用してください。私の間違いは、申し訳ありませんが、私は答えを更新しました。 'preventDefault'は、イベントの更なる伝播を止めることなく、キャンセル可能である場合にイベントをキャンセルします。 (https://developer.mozilla.org/en/docs/Web/API/Event/preventDefault) – rafaelcastrocouto
'return false'は、ほとんどの古いブラウザで実際に仕事をするものであることに注意してください。http:// caniuse。 com /#search = preventDefault – rafaelcastrocouto