我正在製作燈箱。如果我點擊一個按鈕關閉彈出窗口,它會很好地工作,但如果我想通過點擊內容容器外部來關閉它,它不起作用。爲什麼Lightbox沒有關閉點擊內容容器外部
在內容容器之外,我添加了另一個黑色不透明的容器。
這樣,我在外面的容器上添加了一個類。當點擊發生在內容容器上時,它應該被刪除。
var appendthis = ("the div container look over JsFiddle");
$('a[data-modal-id]').click(function (e) {
$(window).resize();
e.preventDefault();
$("body").append(appendthis);
$(".modal-overlay").fadeTo(500, 0.7);
var modalBox = $(this).attr('data-modal-id');
$('#' + modalBox).fadeIn($(this).data());
});
$(".js-modal-close, .modal-overlay").click(function() {
$(".modal-box, .modal-overlay").fadeOut(500, function() {
$(".modal-overlay").remove();
});
});
的jsfiddle:http://jsfiddle.net/Ljmxj8ue/
編輯15年11月19日:問:關閉通過點擊含量的不同容器鴕鳥政策停止只是按一下按鈕YouTube視頻,並導致該錯誤之外:「不能讀取屬性'stopVideo'未定義「。 的jsfiddle:http://jsfiddle.net/4f5dksj5/5/
這不是一個完美的解決方案,因爲'click'會在多次關閉/打開時多次分配給'.js-modal-close',所以在分配它之前,您還必須解除綁定click事件。 –
Ups,你是對的,現在它的作品非常感謝你。 – user5441400
@MrGarretto我現在有這個解決方案的另一個問題:(我可以通過單擊關閉按鈕上的Contant容器外點擊停止視頻。得到此消息:「無法讀取屬性'stopVideo'undefined」 – user5441400