默认代码运行正常:
$('#headerLink').fancybox({
'ajax' : {type : "GET" }
});
但是我想使用delegate:
$('#header').delegate('#headerLink', 'click', function(){
$.fancybox({
'ajax' : {type : 'GET'}
});
});
它似乎首先加载,但它只是显示这条消息,而不是内容:"请求的内容无法加载。请稍后再试。"
然后它卸载,只是重定向到url的链接。
我尝试将语法更改为$(this).fancybox({ ....
我也试过使用'live',但这也不起作用。
$('#headerLink').live('click', function(){
$.fancybox({
'ajax' : {type : "GET" }
});
如果有任何帮助,我真的很感激。
只需更改代码以引用委托中的a
元素:
$('#header').delegate('#headerLink', 'click', function(){
$(this).fancybox({ // $(this) refers to the link
'ajax' : {type : 'GET'}
});
return false;
});