推迟javascript

时间:2014-05-05 00:00:44

标签: javascript jquery

我想推迟以下脚本。我需要它仅在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>

1 个答案:

答案 0 :(得分:1)

推迟脚本的最可靠方法似乎是在运行时将<script>元素插入到页面中。如果你推迟了像jQuery这样的东西,那么你可能希望在加载DOM后加载它们而不是当用户执行动作时加载它们,这通常会使你的脚本更快地加载并且可能为用户提供更好的性能(例如当他们第一次点击某些东西时,他们将不必等待jQuery加载才能发生令人敬畏的事情。)

以下是以与Google Analytics大致相同的方式加载脚本的示例。如果您的浏览器支持我正在使用的JS API以及我正在收听的事件 console.log(),那么您应该会看到window.jQuery被记录为{{ 1}}当页面加载,然后是一个函数五秒钟后(只要jQuery加载到那时!)。

免责声明:此处绝对没有做任何事情来确保跨浏览器兼容性。这只是推迟脚本的简单演示。

undefined