我正试图拦截此链接上的点击次数:
<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的烧瓶应用程序中使用此代码。
答案 0 :(得分:7)
好像你正在尝试将事件处理程序附加到尚不存在的元素
(function() {
})();
仅创建本地范围,但不保证DOM加载。要确认,请在代码中添加console.log($('#test-button').length);
。
您需要的是用
包装代码$(function() {
// your code is here
});
代替