我點擊時遇到了點燃事件window.onload
事件,看起來對我不起作用。JQuery Click不起作用window.onload
例如,當我點擊複選框時,他們將調用函數來渲染帶有內容的iframe。如果取消註釋第2行callOnLoad()
,iframe將加載內容,但這不是我所期望的,我期望在複選框被選中時,iframe中的內容將被呈現。
我點擊時遇到了點燃事件window.onload
事件,看起來對我不起作用。JQuery Click不起作用window.onload
例如,當我點擊複選框時,他們將調用函數來渲染帶有內容的iframe。如果取消註釋第2行callOnLoad()
,iframe將加載內容,但這不是我所期望的,我期望在複選框被選中時,iframe中的內容將被呈現。
我認爲你要下面的事情: -
的iframe將顯示在頁面加載(或窗口負載),但文字顯示/時複選框選中消失/選中?
如果是做象下面這樣: -
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
<input type="checkbox" id="cgv" />
<div id="foo"></div>
</body>
<script>
$(document).ready(function() {
callOnLoad();
$('#cgv').on('click', function(e) {
if ($('#cgv:checked').length !== 0) {
$('#iframe').contents().find("body").append('Test <br/>' + new Date());
} else {
$('#iframe').contents().find("body").html('');
}
});
});
// Function render iframe
function callOnLoad() {
$("#foo").append("<div id=\"div-parent\"><iframe id=\"iframe\"></iframe></div>");
}
</script>
感謝'活着死',你的暱稱讓我感到恐慌...... LOL ...它是處理我的問題的一種非常聰明的方式,但重點是那些iframe不是從我的服務器渲染的,而是從另一個源渲染的,我們無法編輯或更改iframe,它會導致'阻止與我的服務器URL「我的服務器URL」訪問跨源框架。' –
@MikeNguyen如果iframe通過第三方來,那麼你不能做任何事情在你的末尾。對不起但是真的 –
檢查Fiddle
JS:
// Add your javascript here
$(function() {
$('#cgv').on('click', function(e) {
if ($('#cgv:checked').length !== 0) {
callOnLoad(); // Load iframe here, iframe does not work, the content does not render
} else {
$('#div-parent').remove(); // Remove div,
}
});
});
// Function render iframe
function callOnLoad() {
$("#foo").append("<div id=\"div-parent\"><iframe id=\"iframe\" class=\"active\"></iframe></div>");
var iframe = $("#foo").find('[id="iframe"]');
iframe.contents().find("body").append('Test <br/>' + new Date());
}
HTML:
<input type="checkbox" id="cgv" />
<div id="foo">
</div>
感謝RonyLoud,我還沒有測試過它,但它是處理我的問題的非常聰明的方式......但重點是這個iframe是從另一個URL渲染的,我們不能追加任何內容會導致跨上下文iframe。 ..bla bla ... –
所以你W¯¯螞蟻iframe將顯示在窗口加載和文本出現時複選框點擊? –
如果單擊複選框,則不會有事件發生。只有在進入頁面時纔會觸發onload。 – hydrococcus