我想推迟以下脚本。我需要它仅在Keyup 之后启动(点击鼠标后我开始输入)。这是延迟页面加载我特意想延迟jquery.js ..请参阅下面的脚本..
<script type="text/javascript" src="scripts/jQuery.js"></script>
<script defer type="text/javascript">
$(document).ready(function(){
$("#searchquery").keyup(function(){
$.get("suggest.php", {searchquery: $(this).val()}, function(data){
$("datalist").empty();
$("datalist").html(data);
});
});
});
$(document).ready(function(){
$("#searchquery2").keyup(function(){
$.get("suggest1.php", {searchquery2: $(this).val()}, function(data){
$("datalist").empty();
$("datalist").html(data);
});
});
});
</script>
答案 0 :(得分:1)
推迟脚本的最可靠方法似乎是在运行时将<script>
元素插入到页面中。如果你推迟了像jQuery这样的东西,那么你可能希望在加载DOM后加载它们而不是当用户执行动作时加载它们,这通常会使你的脚本更快地加载并且可能为用户提供更好的性能(例如当他们第一次点击某些东西时,他们将不必等待jQuery加载才能发生令人敬畏的事情。)
以下是以与Google Analytics大致相同的方式加载脚本的示例。如果您的浏览器支持我正在使用的JS API以及我正在收听的事件和 console.log()
,那么您应该会看到window.jQuery
被记录为{{ 1}}当页面加载,然后是一个函数五秒钟后(只要jQuery加载到那时!)。
免责声明:此处绝对没有做任何事情来确保跨浏览器兼容性。这只是推迟脚本的简单演示。
undefined