关于onclick = “函数()”中不能调用window.onload = function(){}中调用function 函数(){}
来源:互联网 发布:mac软件下载网站排名 编辑:程序博客网 时间:2024/05/19 04:56
今天在html页面中利用onclick=”xxx”来监听js中一个function xxx(){}函数,遇到一个很奇怪的问题就是点击按钮之后竟然没有响应xxx()函数。
按钮代码:
<div id="stopgame" onclick="test()">||</div>
js代码:
<script type="text/javascript">
window.onload = function(){
function test(){
alert("进入测试函数");
}
}
</script>
会出现这样的问题,不能调用test()方法
变换一下代码:
按钮代码:
<div id="stopgame" onclick="test1()">||</div>
js代码:
<script type="text/javascript">
window.onload = function(){
function test(){
alert("进入测试函数");
}
}
function test1(){
alert("进入test1函数");
}
</script>这样访问就没有问题。
出现这样的问题是作用域的问题:
加上window.onload后改变了test()函数的作用域,使其成为内部函数,故而onclick=”“无法访问到这个函数,而放到外面test1()是绑定在window上的,所以onclick=”“能够访问到。
那么现在又有一个新的需求,我就是想在页面加载完成之后再执行函数怎么办,其实我们可以改变onload()里面函数的作用域为绑定在window上的,用的方法就是对象.函数。
做一下改变这样就没有问题了:
按钮代码:
<div id="stopgame" onclick="test()">||</div>
js代码:<script type="text/javascript">window.onload=function(){ var stopgame=document.getElementById("stopgame");
stopgame.test
=function(){ alert("进入了test函数"); }}</script>
问题就解决了
- 关于onclick = “函数()”中不能调用window.onload = function(){}中调用function 函数(){}
- js中在window.onload中调用function函数遇到的疑惑
- javascript 中函数的调用:直接调用函数和new function()区别
- HTML中调用FUNCTION coma函数
- jquery 在$(function(){})中调用外部函数
- sqlserver函数(function)中不能使用临时表
- javaScritpt学习记录(一)-window.onload = function(){} 与$(document).ready(function(){})区别
- window.onload=function(){}用法
- window.onload=function(){}作用
- window.onload=function(){}作用
- window.onload 、$(function())、;(function(){}()); 的执行顺序
- window.onload $(function(){})中drawimage失灵
- oracle 中函数(function)的学习
- 页面加载完成之后执行js函数window.onload 和 $().ready(function) 以及 <body onload="">的同级函数详解
- (转)窗函数(window function)
- window.onload 、$(function()function())、;(function(){}());的执行顺序(初)
- $(function(){})/$(document).ready()和javascript中onload()的区别
- 理解立即调用函数(function(){ ...})();
- spring boot学习三:基于jsp的spring mvc示例
- 关于responsbody
- [数学杂题]BZOJ 2111—— [ZJOI2010]Perm 排列计数
- guava做本地缓存
- annotation-@RequestBody-接收前端传来的json
- 关于onclick = “函数()”中不能调用window.onload = function(){}中调用function 函数(){}
- pandas---Series基础使用
- 注释转换
- 统计学习方法(第三章)k近邻算法
- 初级web api的设计(二)——防重放攻击
- 神经网络 tensorflow教程 2.2 下载MNIST 数据集 (自动版)
- 统计学习方法总结、应用对比
- 《Android学习笔记》利用Application操作全局变量
- 计算一下pytorch中Resnet34模型前传一次所需要的时间