javascript - 用 JS 调用用户定义的 jQuery 函数
问题描述
我使用 jQuery 窗口库https://github.com/humaan/Modaal
以这种方式触发事件$("class of element").modaal({arg1, arg2,...});
---我在这里更新了我的问题以使其更通用,并使用 iframe / Html 而不是外部 svg ---
为了触发一个元素,例如在 iframe 中加载的外部 Html 中,我将以下代码应用于 iframe:
<iframe src="External.html" id="mainContent" onload="access()"></iframe>
调用此函数:
function access() {
var html = document.getElementById("mainContent").contentDocument.getElementById("IDofDIVelement");
html.addEventListener('click', function() {clicker();});
}
function clicker()
{
// console.log('hooray!');
$("#mainContent").contents().find("IDofDIVelement").modaal({});
//return false;
}
实际上它只会在每秒钟点击一次时起作用。知道我没有正确考虑什么吗?
最好的
解决方案
您不需要等待窗口加载,而只需等待 iframe:
$(function() {
$("#mainContent").bind("load",function(){
var myIframeElement = $(this).contents().find(".modaal");
myIframeElement.modaal({
content_source: '#iframe-content',
type: 'inline',
});
});
});