加载点击全部" a" HTML元素

时间:2014-07-01 07:51:44

标签: javascript jquery

我想在有人点击我网站上的任何元素时显示加载程序。

我的代码:

(function ($) {
    $('body').append("<div id='loader-box'></div>");
    $("loader-box").html("");
    $("a").on('click', function (e) {
        $("loader-box").html("<div class='loader-wrapper'><div class='loader-image'></div></div>");
    });
}(jQuery));

问题是追加不起作用。我不懂为什么。谢谢!

---更新---

我找到了一个解决方案,感谢所有特别是Andrei Cristian Prodan,他帮我解决了.on()函数的问题。我还使用了错误的函数来添加“loader-box”div。

这是我的代码:

(function($){
    $("body").prepend('<div id="loader-box"></div>');
    $("#loader-box").html("");
    $("html").on("click", "a",function(){
        $("#loader-box").html('<div class="loader-wrapper"><div class="loader-image"></div></div>');
    });
}(jQuery));

谢谢!

2 个答案:

答案 0 :(得分:2)

你在选择器$(“#loader-box”)中缺少“#”;

此外,如果您在页面中存在锚点之前执行此代码(例如,在您的身体顶部或标题内),则不会分配点击,因为$('a')将为空。< / p>

请改为:$('html').on('click', 'a', function() {...} );

答案 1 :(得分:0)

你的选择者只是一点点;缺少#:

<script>
$(function($){
    $('body').append("<div id='loader-box'></div>");
        $("#loader-box").html("");
        $("a").on('click', function(e){
            $("#loader-box").html("<div class='loader-wrapper'><div class='loader-image'></div></div>");
        });
});
</script>

DOM ready需要正确编写。