我有很多的内联javascript,但是只需调用以下函数:
<form id="some_id" style="x" method="post" onsubmit="return someFunction(this);"></form>
或&#34; onchange&#34;,&#34; onkeyup&#34;。我还在html中的<script>
标签内写了一些脚本(不是很多),其余的都是外部的。上面显式的内部调用都被调用到外部脚本函数。
我选择这样做是因为考虑到许多带有元素插入的 async 调用并且需要监听器来注册这些更改,因此发现它更实用。这是$ .on(&#34;表单onsubmit&#34;,function(){不适用于没有监听器的附加async的新元素。
由于我的模板结构,我在服务器端构建新元素,并将它们直接附加到ajax回调上。
我的主文件.js(外部)位于1832行,我的包含file.js的索引文件大约有~500,〜350,内联javascript如上所示。
这说:
如上所示,留下内联javascript是否会被视为一个巨大的缺陷(是的,我知道google会这样做),或者即使高标准也可以认为是可接受的?
考虑&#34; 内联javascript未保存在缓存中&#34;,这究竟是什么意思?每次用户请求网页时,他都会提取整个&#34; onsubmit&#34;在上面的行?或者我错过了这句话的意思。
很抱歉,如果这个问题含糊不清,但我觉得我的服务大部分时间都没有完成,也不知道我是否应该完成这项工作:(非常感谢。< / p>
答案 0 :(得分:0)
定义“巨大的缺陷”真的很难,所以让我们坚持专业和保持代码“按原样”的方式:
Pro:
Con's:
所以基本上,如果网站只是由你开发,我会保留这样的代码,不会被百万人使用,如果你不希望在另一个项目中重用任何这些代码。< / p>
如果不满足任何这些条件,我会重构代码。
此外,重构代码,并学习如何正确绑定处理程序是一个非常好练习,如果你打算学习更多的javascript。
答案 1 :(得分:0)
$('body')。on('onsubmit','form',function(){});
这将处理对DOM的任何未来更改。