Hello Adam,
Unfortunately, it is true that this problem exists in the Q3 2009 release (2009.3.1103). We have fixed it and changes will take effect in the next
internal build and the next service pack. Please excuse us for the inconvenience.
As an immediate workaround, you can use the following Javascript code. Note that it must be placed in the <body>. Alternatively, you can include it in an external Javascript file, but in this case the registration <script> tag must be in the <body> too.
<%@ Page Language="C#" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<head runat="server">
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>RadControls for ASP.NET AJAX</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
page content here
<script type="text/javascript">
if (typeof(Telerik) != "undefined" && typeof(Telerik.Web.UI.Calendar) != "undefined")
{
Telerik.Web.UI.Calendar.Popup.prototype.Hide = function(updateData)
{
var div = this.DomElement;
var styleObj = RadHelperUtils.GetStyleObj(div);
if (div)
$telerik.$(div).stop(true, true);
var thisObj = this;
removeDiv = function()
{
if (div)
{
if (navigator.userAgent.match(/Safari/))
{
styleObj.visibility = "hidden";
styleObj.position = "absolute";
styleObj.left = "-1000px";
}
else
{
styleObj.display = "none";
}
styleObj = null;
if (div.childNodes.length != 0)
{
if (navigator.userAgent.match(/Safari/))
{
div.childNodes[0].style.visibility = "hidden";
div.childNodes[0].style.position = "absolute";
div.childNodes[0].style.left = "-1000px";
}
else
{
div.childNodes[0].style.display = "none";
}
}
var innerElement = div.childNodes[0];
if (innerElement != null)
{
div.removeChild(innerElement);
if (thisObj.Parent != null)
{
thisObj.Parent.appendChild(innerElement);
}
else if (thisObj.Sibling != null)
{
var parentElement = thisObj.Sibling.parentNode;
if (parentElement != null)
parentElement.insertBefore(innerElement, thisObj.Sibling);
}
if (navigator.userAgent.match(/Safari/))
{
RadHelperUtils.GetStyleObj(innerElement).visibility = "hidden";
RadHelperUtils.GetStyleObj(innerElement).position = "absolute";
RadHelperUtils.GetStyleObj(innerElement).left = "-1000px";
}
else
{
RadHelperUtils.GetStyleObj(innerElement).display = "none";
}
}
//IFRAME code
RadHelperUtils.ProcessIframe(div, false);
}
}
if (div && typeof(this.HideAnimationDuration) == "number" && this.HideAnimationDuration > 0)
$telerik.$(div).fadeOut(this.HideAnimationDuration, removeDiv);
else
removeDiv();
if (this.OnClickFunc != null)
{
RadHelperUtils.DetachEventListener(document, "click", this.OnClickFunc);
this.OnClickFunc = null;
}
if (this.OnKeyPressFunc != null)
{
RadHelperUtils.DetachEventListener(document, "keydown", this.OnKeyPressFunc);
this.OnKeyPressFunc = null;
}
if (updateData && this.ExitFunc)
{
this.ExitFunc();
}
}
}
</script>
</form>
</body>
</html>
Kind regards,
Dimo
the Telerik team