如何在页面加载时停止特定javascript的执行

如何在页面加载时停止特定javascript的执行,javascript,jquery,Javascript,Jquery,我使用QueryAutoComplete选择从MySQL数据库检索的成员。这部分代码工作正常。然后,我编写了一个脚本,获取所选内容的值,将其附加到url并打开它。脚本可以这样做,但有问题 第一个问题是加载文件时,它不会等待自动完成文本输入的更改,而是在页面加载时执行。我可以点击浏览器上的“后退”按钮,它会再次执行,然后第三次点击“后退”按钮,它会保留在页面上。此时,我可以在文本输入中键入一个字母,并返回一个选项列表。然后我可以选择一个,javascript会附加该值并打开新页面,其中包含请求的信

我使用QueryAutoComplete选择从MySQL数据库检索的成员。这部分代码工作正常。然后,我编写了一个脚本,获取所选内容的值,将其附加到url并打开它。脚本可以这样做,但有问题

第一个问题是加载文件时,它不会等待自动完成文本输入的更改,而是在页面加载时执行。我可以点击浏览器上的“后退”按钮,它会再次执行,然后第三次点击“后退”按钮,它会保留在页面上。此时,我可以在文本输入中键入一个字母,并返回一个选项列表。然后我可以选择一个,javascript会附加该值并打开新页面,其中包含请求的信息

第二个问题是,在我从下拉列表中选择了一个成员之后,我必须在自动完成TechRange触发之前,从文本输入字段中单击。当我选择时,但在我离开文本输入之前,如何使其启动

以下是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>
您自己调用更改函数,是否尝试不使用

$(function myFunction ()  {
    $('#theinput').on('autocompletechange change', function () {
        location.href = 'dirlist.php?title=' + 
        document.getElementById('theinput').value    
    }); // <-- no .change() right here!
});

这解决了第一个问题,对第二个问题有什么想法吗?