gpt4 book ai didi

javascript - 使用 jquery 覆盖 anchor 标记的默认行为

转载 作者:可可西里 更新时间:2023-11-01 01:16:54 26 4
gpt4 key购买 nike

我正在尝试覆盖 anchor 标记的默认行为,以便我可以将我服务器上的网页加载到现有的 div 中,而不是新的选项卡或窗口中。

到目前为止我有:

myContainer.click(function(){                   
event.preventDefault();
$('a').click(function(){
var link = $(this).attr('href');
myContainer.load(link);
});
});

在 chrome 中我必须点击链接两次才能执行任何操作,在 IE 和 FF 中它根本不起作用并使用新链接刷新页面。

非常感谢任何帮助。

最佳答案

不应该只是:

 $('a').click(function(e) {
e.preventDefault();
myContainer.load(this.href);
});

您的代码在点击处理程序中分配了一个点击处理程序。因此,第一次点击会将点击处理程序附加到链接,第二次点击(在链接上)将执行新的点击处理程序。

看来您只需要一个 单击处理程序。如果链接是动态添加的,你可以使用.on() (.live.delegate 的继任者):

myContainer.on('click', 'a', function(e) {
e.preventDefault();
myContainer.load(this.href);
});

// or

$(document).on('click', 'a', function(e) {
e.preventDefault();
myContainer.load(this.href);
});

关于javascript - 使用 jquery 覆盖 anchor 标记的默认行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5207531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com