Project1

标题: js 无法绑定onclick 事件~ 有关延迟加载的问题! [打印本页]

作者: tadffg123n    时间: 2020-4-16 21:48
标题: js 无法绑定onclick 事件~ 有关延迟加载的问题!
在标题页面写了个登录表单 然后绑定登陆按钮的时候出现  Cannot set property 'onclick' of null  以前遇到过 用window.onload 就行了- -可是 在加插件里 写个 画面直接 黑屏 在外部文件写然后再index里面 引入就无效
崩溃~~~~~~~~~~~~~~~ 有没有大佬救救我
作者: zths    时间: 2020-4-16 22:25
你不得提供代码?
我怀疑你变量名写错了。。
或者是没找到dom元素
不然
a = 0
a.onclick = function(){}
都不会报错的...虽然也没有效果....
作者: tadffg123n    时间: 2020-4-16 22:37
我代码直接打控制台里 是可以运行的 写文件里就没用了
作者: tadffg123n    时间: 2020-4-16 22:37
  document.getElementById("login").onclick=function(){
                console.log(1);
        }
作者: tadffg123n    时间: 2020-4-16 22:40
这是直接打控制台里 运行的结果 没有报错 输出了 我想要的东西

jsa.png (57.7 KB, 下载次数: 16)

jsa.png

作者: zths    时间: 2020-4-16 22:55
本帖最后由 zths 于 2020-4-16 22:59 编辑

你把html写在哪了。。。
有问题是这样的。。
  1. <html>
  2.     <head>
  3.         <script>
  4.         console.error(document.getElementById("iii"))
  5.         window.onload = function(){
  6.             console.warn(document.getElementById("iii"))
  7.         }
  8.         </script>
  9.     </head>
  10.     <body>
  11.         <div id="iii"></div>
  12.     </body>
  13. </html>
复制代码

这代码 第一个输出就是null。。因为html没加载完。。。
就等于还没有iii这个div。。
第二个就好正常输出iii这个div元素
或者这样就正常了
  1. <html>
  2.     <head>
  3.     </head>
  4.     <body>
  5.         <div id="iii"></div>
  6.         <script>
  7.             console.error(document.getElementById("iii"))
  8.             window.onload = function(){
  9.                 console.warn(document.getElementById("iii"))
  10.             }
  11.         </script>
  12.     </body>
  13. </html>
复制代码

游戏加载插件是这样的 最后调用main.js
然后main在onload之前调用了PluginManager.setup($plugins);
这样就在onload之前加载了插件。。。执行了插件的代码。。。。
作者: tadffg123n    时间: 2020-4-16 23:02
我自己弄好了。。。。。
作者: tadffg123n    时间: 2020-4-16 23:45
嗯呐,跟你说的完全一致  我也是蠢了 动态加载的节点 居然在 前面绑定事件 - -~
作者: tadffg123n    时间: 2020-4-16 23:48
zths 发表于 2020-4-16 22:55
你把html写在哪了。。。
有问题是这样的。。

思维固化 页面写多了 打算用延迟加载解决 结果傻了。现在已经解决了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1