Я использую "FancyBox" в ASP.NET User Control (внутри страницы содержимого).Я хочу, чтобы щелчок (щелчок на стороне клиента) на кнопке, размещенной на странице, загруженной в 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;");
Из-за описанной проблемы здесь
Моя проблема : Этот синтаксис хорошо работает в функции JavaScript, вызываемой кнопкой, содержащей страницу, загруженную в обычный Iframe, но не содержащуюся на странице, загруженной в FancyBox.(Свойство onclick не добавляется в ImageButton и происходит обратная передача на сервер)
Кто-нибудь знает, в чем проблема и как ее решить?
Спасибо