我有一个使用的脚本$(document).ready
,但它不使用jQuery中的任何其他内容.我想通过删除jQuery依赖项来减轻它.
如何在$(document).ready
不使用jQuery的情况下实现自己的功能?我知道使用window.onload
不会是相同的,因为window.onload
在加载了所有图像,帧等之后的火灾.
在我的ASP.NET用户控件中,我正在为window.onload
事件添加一些JavaScript :
if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), onloadScriptName))
Page.ClientScript.RegisterStartupScript(this.GetType(), onloadScriptName,
"window.onload = function() {myFunction();};", true);
Run Code Online (Sandbox Code Playgroud)
我的问题是,如果onload
事件中已经存在某些事情,那么这会覆盖它.如何在onload
事件中允许两个用户控件执行JavaScript ?
编辑:感谢第三方库的信息.我会记住它们.
我需要在ready
不使用jQuery 的情况下创建jQuery 事件的等价物.它需要在尽可能多的浏览器上工作,并且不能弄乱body.onload
处理程序(即,如果已经设置了处理程序,则该函数不应覆盖它).我检查了jQuery的代码,但不明白它是如何工作的,因为它使用了许多jQuery的函数.
有关如何做到这一点的任何建议?
编辑:我无法控制我的代码将被插入的位置,这就是为什么它需要尽可能好地使用现有的body.onload处理程序.这也意味着我无法确定代码是否会插入页面底部(很可能不会).
我试图从HTML文本区域抓取文本,并在按下"提交"按钮时调用create()方法.该方法尝试使用来自文本区域的消息,并使用类将其发布到其自己的p标记,并在其自己的p标记和其自己的类中发布日期戳.
这些都将在div'评论'中.我得到的错误(使用Chrome中的开发者工具)是
未捕获的TypeError:无法调用null的方法'appendChild'.
这是针对"cmt.appendChild(divTag);".我对Javascript很新,这只是为了提高我的技能.非常感谢所有帮助!
var cmt = document.getElementById('comments');
function create() {
var username = 'User',
message = document.getElementById("textBox").value,
divTag = document.createElement('div'),
p1 = document.createElement('p'),
p2 = document.createElement('p');
divTag.className = 'comment';
p1.className = 'date';
p1.innerHTML = new Date();
divTag.appendChild(p1);
p2.className = 'message';
p2.innerHTML = username + ': ' +message;
divTag.appendChild(p2);
cmt.appendChild(divTag);
}
Run Code Online (Sandbox Code Playgroud)