Jul*_*lio 17 javascript anchor jquery
我试图覆盖锚标记的默认行为,以便我可以将我的服务器上的网页加载到现有的div中,而不是新的选项卡或窗口.
到目前为止我有:
myContainer.click(function(){
event.preventDefault();
$('a').click(function(){
var link = $(this).attr('href');
myContainer.load(link);
});
});
Run Code Online (Sandbox Code Playgroud)
在Chrome中,我必须在它执行任何操作之前单击链接两次,在IE中,它根本不起作用并使用新链接刷新页面.
任何帮助深表感谢.
Fel*_*ing 25
不应该只是:
$('a').click(function(e) {
e.preventDefault();
myContainer.load(this.href);
});
Run Code Online (Sandbox Code Playgroud)
您的代码在单击处理程序中分配了一个单击处理程序.因此,第一次单击将将单击处理程序附加到链接,第二次单击(在链接上)将执行新的单击处理程序.
看来你只需要一个点击处理程序.如果链接动态添加,你可以使用.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);
});
Run Code Online (Sandbox Code Playgroud)