2
我在我的網站上實現了ajax實時搜索。它適用於所有瀏覽器,但是對於觸摸屏,它不顯示任何結果。我認爲觸摸事件未被檢測到由代碼,但即使在我的幾個淨搜索我不知道該怎麼do.Here是我的代碼和任何幫助,將不勝感激Ajax實時搜索不能在觸摸屏手機上工作
$(document).ready(function() {
$("#search").keyup(function (e){
var inp = String.fromCharCode(e.keyCode);
if (/[a-zA-Z0-9-_ ]/.test(inp)) {
$.ajax({
url: '/search.php',
type: 'POST',
data: "keyword=" + $(this).val(),
success: function (data) {
data = $.parseJSON(data);
if (data['response'] == true) {
$("#search_results").html(data['html']).show();
} else {
alert("Please try again.");
}
}
});
}
});
function hide_search_results(e) {
var container = $("#search_results");
if (!container.is(e.target) && container.has(e.target).length === 0) {
window.displayBoxIndex = -1;
container.hide();
}
}
$(document).mouseup(function (e) {
hide_search_results(e);
});
});
非常感謝它已經開始工作,但現在的問題是這條線var inp = String.fromCharCode(e.keyCode)。它沒有從觸摸屏獲取確切的輸入。你能幫我解決這個問題嗎? – zish
對,也可能有問題,因爲'e.keyCode'是'keydown/keyup'事件的一個屬性,並且不會與其他事件一起工作。是否有必要以這種方式獲得輸入的文本?也許,'$(this).val()'也許很好?或者還有其他一些需要使用'String.fromCharCode(e.keyCode)'? – voloshin
非常感謝您的時間。沒有具體的理由使用String.fromCharCode(e.keyCode)所以我已經改變它$(this).val()現在,一切工作正常。 – zish