我正在尝试做一些相对简单的事情,那就是在文档加载期间触发 Facnybox jQuery 插件弹出。我正在使用 ASP,但这应该无关紧要。我有以下标签:
<a id = "lnkGId" href = "" name = "lnkGId" runat = "server" ></a>
在 JavaScript 中,我执行以下操作:
//check to ensure the link has an href
$(document).ready(function () {
if($("a[id *= 'lnkGId']").length > 0 && $("a[id *= 'lnkGId']").attr("href") !="" ){
console.log($("a[id *= 'lnkGId']").attr("href"));
}
});
锚在服务器端动态设置它的href。id 有点混乱,这就是我使用 *= 选择器的原因。这部分有效,如果我在锚点有一个 href 时运行上述内容,我会看到正确的 href 登录到控制台中。
现在我要做的就是在页面加载并且锚点 href 有值时触发 Faccybox。我在上面发布的 if 条件中尝试了很多不同的方法:
1
$("a[id *= 'lnkGId']").fancybox().trigger("click");
2
var url = $("a[id *= 'lnkGId']").attr("href");
$.fancybox({
href: url,
modal: true,
'fitToView' : false,
'width' : '600px',
'height' : '560px',
'autoSize' : false,
'closeClick' : true
});
3
$("a[id *= 'lnkGId']").fancybox({
'fitToView' : false,
'width' : '600px',
'height' : '560px',
'autoSize' : false,
'closeClick' : true
});
$("a[id *= 'lnkGId']").trigger("click")
我没有收到任何错误。我正在做一个 console.log("complete"); 在我应用了上面的代码以确保它不会在很长一段时间内被破坏之后。一切似乎都处于工作状态,我只是无法触发它!有人对我可以在这里做什么有任何建议吗?任何建议将不胜感激。谢谢!