首页 > 解决方案 > 用 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;
}

实际上它只会在每秒钟点击一次时起作用。知道我没有正确考虑什么吗?

最好的

标签: javascriptjquery

解决方案


您不需要等待窗口加载,而只需等待 iframe:

$(function() {
    $("#mainContent").bind("load",function(){
        var myIframeElement = $(this).contents().find(".modaal");

        myIframeElement.modaal({
            content_source: '#iframe-content',
            type: 'inline',
        });
    });
});

推荐阅读