我正在尝试使用ClearBox JS打开叠加层,但我的解决方案似乎无法在Google Chrome中使用。
使用来自protolicious
的模拟<body onload="clickNameChange();">
function clickNameChange() {
$("name_change_button").simulate("click");
}
<a id="name_change_button" href="/name_change.htm" rel="clearbox[width=600,,height=400]">Opener()</a>
我将当前窗口替换为链接中的内容,而不是像在FF和IE中那样用ClearBox叠加打开。
尝试了替代解决方案:
document.getElementById("name_change_button").onclick();
triggerEvent($("name_change_button"), "click");
function triggerEvent(element, eventName) {
// safari, webkit, gecko
if (document.createEvent)
{
var evt = document.createEvent('HTMLEvents');
evt.initEvent(eventName, true, true);
return element.dispatchEvent(evt);
}
// Internet Explorer
if (element.fireEvent) {
return element.fireEvent('on' + eventName);
}
}
答案 0 :(得分:0)
$("name_change_button")
应为$("#name_change_button")
,不是吗?
还想知道为什么你需要通过模拟按钮点击来打开叠加层 - 我对ClearBox了解不多,但是你的代码如何运行必要的JavaScript来打开叠加?我没有看到锚元素中的任何东西(据我理解)除了打开/name_change.htm之外还会做任何事情。
答案 1 :(得分:0)
无法解决这个问题。在显示clearbox JS dev演示站点后,他无法解决它。 所以我最终运行了这样一个更简单的解决方案: http://weblogs.asp.net/jeff/archive/2006/10/25/Modal_2D00_style-pops-in-Javascript-and-CSS.aspx
答案 2 :(得分:0)
通过将GET参数设置为url:
,我找到了如何在页面加载时打开clearboxif (isset($_GET['id'])) {
echo "<script>$(window).load(function () {
CB_Open('href=mymodal.php?id=".$_GET['id'].",,width=700,,height=700');
});
</script>
";
}
需要:PHP / jQuery / Clearbox.js
享受!