拦截超链接点击

时间:2013-08-21 03:13:39

标签: javascript

我正试图拦截此链接上的点击次数:

<a id="test-button" href="#">Test</a>

用这个js:

(function() {
    $('#test-button').click(function (event) {
        console.log("This code never gets called.")
        event.preventDefault();
        $('#alert-placeholder').html(['<div class="alert"><a class="close"',
                                      'data-dismiss="alert">×</a>',
                                      '<span>"+message+"</span></div>'].join())
        return false;
    })
    console.log("yes, this code loads");
    debugger;
})();

但是加载了URL '#'并且click()函数中的代码没有运行。我错过了什么?

我在使用bootstrap的烧瓶应用程序中使用此代码。

1 个答案:

答案 0 :(得分:7)

好像你正在尝试将事件处理程序附加到尚不存在的元素

(function() {
})();

仅创建本地范围,但不保证DOM加载。要确认,请在代码中添加console.log($('#test-button').length);

您需要的是用

包装代码
$(function() {
    // your code is here
});

代替