[英]How do I stop the execution of a certain javascript on page load
我正在使用查詢自動完成來選擇我從MySQL數據庫中檢索的成員。 這部分代碼正常工作。 然后我寫了一個腳本來獲取所選的值並將其附加到URL並打開它。 腳本可以做到這一點,但它有問題。
第一個問題是當文件加載時,它不會等待自動完成文本輸入改變,但它會在頁面加載時執行。 我可以點擊瀏覽器上的后退按鈕然后再次執行,然后我第三次按下后退按鈕停留在頁面上。 此時我可以在文本輸入中鍵入一個字母,並返回一個選項列表。 然后我可以選擇一個,javascript附加值並打開新頁面,其中包含所請求的信息。
第二個問題是在我從下拉列表中選擇一個成員后,我必須在autocompletechange觸發之前單擊文本輸入字段。 我選擇但在離開文本輸入之前如何才能觸發它?
這是HTML文件:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function () {$('#theinput').autocomplete({source: 'search.php'});
});
</script>
</head>
<body>
<input type="text" id="theinput" />
<button type="button" onclick="ClearFields();">Clear</button>
<script type="text/javascript">
$(function myFunction () {
$('#theinput').on('autocompletechange change', function () {
location.href = 'dirlist.php?title=' + document.getElementById('theinput').value
}).change();
});
function ClearFields() {document.getElementById("theinput").value = "";}
</script>
</body></html>
你自己調用change
功能,沒有嘗試過嗎?
$(function myFunction () {
$('#theinput').on('autocompletechange change', function () {
location.href = 'dirlist.php?title=' +
document.getElementById('theinput').value
}); // <-- no .change() right here!
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.