我对JS和jQuery很陌生,而且我已经掌握了基本的JS以便在jQuery中尝试一些东西。因此,我在这里尝试做的是在单击主导航中的链接时阻止页面加载(理想情况下,将使用ajax加载页面)。
所以这是我的脚本到目前为止,基本上没有任何工作......在Chrome中,警报显示并显示被点击的链接,但FF4似乎完全忽略了我的脚本(firebug控制台没有显示任何内容)。 / p>
感谢任何帮助。
$(document).ready(function(){
$("#navigation a").each(function() {
$(this).click(function(){
event.preventDefault();
loader();
});
});
});
function loader(){
theLink = event.target;
alert("You clicked: " + theLink);
}
答案 0 :(得分:2)
尝试将代码更新为此
$(document).ready(function(){
$("#navigation a").click(function(event){
event.preventDefault();
loader(event);
});
});
function loader(event){
var theLink = event.target;
alert("You clicked: " + theLink);
}
答案 1 :(得分:2)
$(document).ready(function(){
$("#navigation a").click(function(event){
event.preventDefault();
loader(event);
});
function loader(event){
theLink = event.target;
alert("You clicked: " + theLink);
}
});
答案 2 :(得分:1)
您没有将事件对象传递给Click处理程序。此外,您不需要.each()
,因为.click()
将枚举您的查询结果并为每个人附加点击处理程序
尝试将其调整为:
$(document).ready(function(){
$("#navigation a").click(function(e) {
e.preventDefault();
loader(e);
});
});
});
function loader(e){
theLink = e.target;
alert("You clicked: " + theLink);
}
答案 3 :(得分:-1)
尝试在点击功能结束时添加return false
$(this).click(function(){
event.preventDefault();
loader();
return false;
});