関数が呼び出されて XML を検索し、単語に一致するときにカーソルを変更して、ユーザーが何かが起こっていることを認識できるようにしようとしています。
これは機能です:
function searchResults(query) {
$("body").css("cursor", "wait");
var temp = "\\b" + query + "\\b";
var regex_query = new RegExp(temp, "gi");
var currentLine;
var num_matching_lines = 0;
var searchCount = 0;
var matchesLine;
$("#mainOutput, #searhResults").empty();
$("LINE", currentContext).each(function () {
var line = this;
currentLine = $(this).text();
matchesLine = currentLine.replace(regex_query, '<span class="query_match">' + query + '</span>');
if (currentLine.search(regex_query) > 0) {
searchCount = searchCount + currentLine.match(regex_query).length;
$('#sideInfo>ul').empty();
num_matching_lines++
$("#mainOutput").append("<br /><p class='speaker_match indent'>"+ $(line).parent().find('SPEAKER').text() +"</p>");
$("#mainOutput").append("<p class='act_match indent'>"+ $(line).parent().parent().parent().children(':first-child').text()+"</p>");
$("#mainOutput").append("<p class='scene_match indent'>"+ $(line).parent().parent().children(':first-child').text() +"</p>");
$("#mainOutput").append("<p class='pad'>" + matchesLine + "</p>");
$("#mainOutput").append("<br><hr />");
}
});
$("#searhResults").append("<p>Found " + query + " in " + num_matching_lines + " lines</p>");
$("#searhResults").append("<p>Found " + query + " " + searchCount + " times</p>");
$("body").css("cursor", "default");
}
次のアクションのいずれかによって呼び出されます。
$("#term_search").keypress(function (event) {
if (event.keyCode == 13) searchResults($("#term_search").val());
});
$('#term-search-btn').click(function () {
searchResults($("#term_search").val());
});
問題は、検索が完了するとカーソルが待機記号に変わり、その後デフォルトに戻らないことです。これを修正するにはどうすればよいですか?