如何将javascript添加到html文档的头部,以侦听对尚未添加到DOM中的元素的单击?
我正在使用第三方web应用程序,它允许您将自己的代码放在HTML页面的头部。文档的其余部分是自动生成的,因此在将所有内容添加到DOM之前,我只能在头部插入自定义代码 我试图将单击事件添加到将加载到DOM中的各种按钮中。我希望根据单击的按钮id调整浏览器窗口的大小 我试过这样的方法:如何将javascript添加到html文档的头部,以侦听对尚未添加到DOM中的元素的单击?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在使用第三方web应用程序,它允许您将自己的代码放在HTML页面的头部。文档的其余部分是自动生成的,因此在将所有内容添加到DOM之前,我只能在头部插入自定义代码 我试图将单击事件添加到将加载到DOM中的各种按钮中。我希望根据单击的按钮id调整浏览器窗口的大小 我试过这样的方法: <script type="text/javascript"> window.onLoad=function(){ document.getElementById("resize").on
<script type="text/javascript">
window.onLoad=function(){
document.getElementById("resize").onClick = window.resizeTo(250, 250);
};
</script>
window.onLoad=function(){
document.getElementById(“resize”).onClick=window.resizeTo(250250);
};
因为我希望如果我使用onLoad事件来添加onClick事件,它会等到所有内容都加载完毕,并且不会出现空引用错误。我没有得到空引用错误,但onClick不起作用
我尝试使用jQuery也是因为我读到的一篇帖子建议监听所有的点击事件,然后检查触发事件的元素的id,但是我不确定我是否正确使用了它。这是我第一次使用jQuery。这也没用
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(document).click(function() {
if(event.target.id == 'resize') {
window.resizeTo(250,250);
};
};
</script>
$(文档)。单击(函数(){
如果(event.target.id=='resize'){
窗口。resizeTo(250250);
};
};
真正的答案可能只是不可能,但我希望有一些解决方案,我只是无法在网上找到
总之,有没有一种方法可以根据在第三方web应用程序中单击的元素的id来调整浏览器窗口的大小?在将元素添加到DOM之前,脚本必须位于文档的头部
感谢您的帮助。使用jQuery,您可以进行委派活动
$(document).on("click", "<selector>", function(){}));
$(document).on(“click”,“”,function(){});
这也适用于动态创建的对象
相对于
$("<selector>").on("click", fucntion(){});
$(“”)。单击(“click”,function(){});
它只适用于原始DOM元素。使用jQuery,您可以拥有委派事件
$(document).on("click", "<selector>", function(){}));
$(document).on(“click”,“”,function(){});
这也适用于动态创建的对象
相对于
$("<selector>").on("click", fucntion(){});
$(“”)。单击(“click”,function(){});
它只适用于原始DOM元素。您可以将代码放入
文档中。准备好
并将其委托给将来可能添加的元素。有关更多详细信息,请参阅
$(document).on("click", "selector of element added in future", function(){
//execute your code
});
您可以将代码放入
document.ready
中,并将其委托给将来可能添加的元素。有关更多详细信息,请参阅
$(document).on("click", "selector of element added in future", function(){
//execute your code
});
试着把它加入身体而不是头部。@TylerH,这是他不能做的。这就是问题所在……是否使用ajax或其他方式加载了
#resize
。文档的其余部分是自动生成的。他们只允许您将自定义代码放在头部。我正在使用resizeTo(),这是一个javascript函数。尝试将其添加到身体而不是头部。@TylerH这是他不能做的。这就是问题所在……是否使用ajax或其他方式加载了#resize
。文档的其余部分是自动生成的。他们只允许您在头部放置自定义代码。我使用的是resizeTo(),这是一个javascript函数。我认为我们不能使用速记单击
,这样“选择器”
将成为事件数据。我们必须像这样在上使用。在('click','selector',function(){})
上,我认为我们不能使用速记单击
来委派事件,这样“selector”
将成为事件数据。我们必须像这样在上使用。在('click','selector',function(){})
上这是非常好的,它工作得很好,但是函数会在页面加载时立即执行,而不是在单击时执行。我添加了它,就像添加了so$(document)一样@亚当,你需要用匿名函数包装它,重读这个答案。顺便说一句,你真的有resize
类型的元素吗。我总是怀念那样的小事。我还在学习javascript。“resize”只是我使用的测试页面的一个虚拟选择器。这很好,它工作正常,但是该函数在页面加载时立即执行,而不是在单击时执行。我添加了它,就像添加了so$(document)一样@亚当,你需要用匿名函数包装它,重读这个答案。顺便说一句,你真的有resize
类型的元素吗。我总是怀念那样的小事。我还在学习javascript。“resize”只是我使用的测试页面的虚拟选择器。