我在ASP.NET用户控件中使用"FancyBox"(在内容页面内)。 我希望点击(客户端点击)放在页面上的按钮'加载到FancyBox中,将调用JavaScript函数,并在该函数中我想启用父页面中包含的ImageButton(打开的页面) FancyBox模态对话框)并动态添加'onclick' 它的财产。
在包含ImageButton的表单的代码文件中,我添加了一个属性,以便我可以使用JQuery轻松选择它
ibtnDeleteImage.Attributes.Add(“serverID”,“ibtnDeleteImage”);
以下是用于将onclick属性添加到ImageButton
的函数 function addOnclick() {
//Get ref to the delete article thumbnail image button
var $ibtnDeleteThumbImage = $("input[serverId='ibtnDeleteImage']", window.parent.document);
//Enable the image button
$ibtnDeleteThumbImage.removeAttr("disabled");
//Add onclick property to the ImageButton assign it an event handler and avoid post back to the server
$ibtnDeleteThumbImage[0].onclick = function() { deleteThumbnailImage(); return false; };
}
这是事件处理程序:
function deleteThumbnailImage() {
var dialogMessage = "Are you sure you want \n to delete the article thumbnail";
if (confirm(dialogMessage)) {
var $ibtnDeleteThumbImage = $("input[serverId='ibtnDeleteImage']", window.parent.document);
//Remove the onclick property from the ImageButton
$ibtnDeleteThumbImage.removeAttr("click");
//Disable the ImageButton
$ibtnDeleteThumbImage.attr('disabled', 'disabled');
}
}
我正在使用语法
$ibtnDeleteThumbImage[0].onclick = function() { deleteThumbnailImage(); return false; };
而不是
$ibtnDeleteThumbImage.attr("onclick", "deleteThumbnailImage();return false;");
由于描述的问题here
我的问题: 此语法在javascript函数中运行良好,该函数由包含在常规Iframe中加载的页面的按钮调用,但不包含在加载到FancyBox中的页面中。 (onclick属性未添加到ImageButton,并且有回发到服务器)
有谁知道问题是什么,解决方案是什么?
由于
答案 0 :(得分:0)
这可能是一个跨脚本问题。
在你的addOnClick函数中,你可以做这样的事情
$("input[serverId='ibtnDeleteImage']").click(function() {
// perform delete logic here
}).removeAttr("disabled");