【问题标题】:Electron - Unable to use Js/Events/Jquery after loading HtmlElectron - 加载 Html 后无法使用 Js/Events/Jquery
【发布时间】:2017-09-19 06:35:25
【问题描述】:

MainHtml:

    <head>
    </head>
    <header >
    </header>
    <body>
        <div id="x1y1"></div> // Load contents dynamically here
        <script src="All scripts one by one"></script>
     </body>

Electron Window On load [主窗口已经加载了上面的 html]

onload = $(function(){
     $('#ElementLoadedOnload').click()...etc tc;
     $('#ElementLoadedDynamicallyIn_x1y1_div').click()...etc tc;
});

所以当 electron 加载 html 时,只有初始加载的 html 和元素可以在 jquery 中操作。当我在 x1y1 标记中使用 JQuery 动态加载 html 时,$('#ElementLoadedDynamicallyIn_x1y1_div').click() 不起作用,因此我必须为 html 本身中的每个元素都包含 onclick="FunctionName()" 。我在这里做错了什么?...或者有可能以其他方式。

【问题讨论】:

    标签: javascript jquery windows macos electron


    【解决方案1】:

    你需要使用on方法

    $( "body" ).on( "click", '#ElementLoadedDynamicallyIn_x1y1_div' , function() {
        //Do what you want to do
    }); 
    

    【讨论】:

    • 为什么会这样,已经加载的元素响应,而动态html没有?这是我的主要好奇心
    • 在动态元素上,直接绑定不起作用,需要添加on方法监听所有事件
    • 有没有更好的方法通过任何 Dom 方法或 JQ 本身直接绑定动态元素?
    • 根据我的经验,将事件动态绑定到元素是最好的方法。它也干净易懂
    猜你喜欢
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 2021-06-18
    • 2023-04-03
    • 1970-01-01
    • 2019-04-12
    相关资源
    最近更新 更多