stopPropagation do.WhatがこのコードでstopPropagation()を使用する必要があるのは何ですか?私はそれを使用しない場合は、Enterキーが初めて動作しません。 http://codepen.io/Juan1417/pen/XNJeWdなぜstopPropagation()を使用する必要がありますか?
$(document).ready(function() {
$("#searchTerm").keypress(function (e) {
if (e.which == 13) {
$("#search").click();
**e.stopPropagation();**
return false;
}
});
$("#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は、keypressイベントがさらに処理されないようにします。あなたがそれをしないと、例えばフォーム提出をトリガして、あなたのjavascriptプロセスをキャンセルするかもしれません。 –
[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation)または[jQueryのサイト](https://api.jquery.com)で検索しましたか? /event.stoppropagation/) – adeneo
なぜ$( "#search")の中で使用する必要はありませんか? – Juan