为什么我的onclick没有触发函数?求解

汉堡鸡肉卷鸡腿鸡翅 2015-08-10 09:45:32
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script>
// window.onload=function(){

var oDiv=document.getElementById('btn1');
var oDiv2=document.getElementById('btn2');
function bTxt(){

oDiv2.value='hehehaha';
}
// }
</script>
</head>
<body>
<input id="btn1" type="button" value="点我试试" onclick="bTxt()">
<input id="btn2" type="text" value="1234">
</body>
</html>
...全文
442 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 jslang 的回复:
加上window.onload,你的bTxt()函数就处在局部作用域环境中,这样外界就无法调用bTxt()函数了
谢过谢过,辛苦大大了!
天际的海浪 2015-08-10
  • 打赏
  • 举报
回复
加上window.onload,你的bTxt()函数就处在局部作用域环境中,这样外界就无法调用bTxt()函数了
  • 打赏
  • 举报
回复
引用 3 楼 jslang 的回复:
这是页面加载顺序的问题。页面是一边加载一边执行的。 放在外边document.getElementById('btn2')是在页面加载时执行,这时下面的文本框还没有加载,获取不到自然会出错。 一般建议是可以把代码放到页面的下面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
</head>
<body>
<input id="btn1" type="button" value="点我试试" onclick="bTxt()">
<input id="btn2" type="text" value="1234">
<script>
// window.onload=function(){

var oDiv2=document.getElementById('btn2');
function bTxt(){
oDiv2.value='hehehaha';
}
// }
</script>
</body>
</html>
奥~谢答复,按照大大的说法做了,可是又碰到个问题,为什么放到页面底部再加上window.onload就又不管用了呢?麻烦再指教一下。辛苦了
天际的海浪 2015-08-10
  • 打赏
  • 举报
回复
这是页面加载顺序的问题。页面是一边加载一边执行的。 放在外边document.getElementById('btn2')是在页面加载时执行,这时下面的文本框还没有加载,获取不到自然会出错。 一般建议是可以把代码放到页面的下面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
</head>
<body>
<input id="btn1" type="button" value="点我试试" onclick="bTxt()">
<input id="btn2" type="text" value="1234">
<script>
// window.onload=function(){

var oDiv2=document.getElementById('btn2');
function bTxt(){
oDiv2.value='hehehaha';
}
// }
</script>
</body>
</html>
  • 打赏
  • 举报
回复
引用 1 楼 jslang 的回复:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script>
// window.onload=function(){

function bTxt(){
var oDiv2=document.getElementById('btn2');
oDiv2.value='hehehaha';
}
// }
</script>
</head>
<body>
<input id="btn1" type="button" value="点我试试" onclick="bTxt()">
<input id="btn2" type="text" value="1234">
</body>
</html>
放在外边不是全局变量吗?函数内访问不到吗?
天际的海浪 2015-08-10
  • 打赏
  • 举报
回复

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery</title>
<script>
// window.onload=function(){

function bTxt(){
var oDiv2=document.getElementById('btn2');
oDiv2.value='hehehaha';
}
// }
</script>
</head>
<body>
<input id="btn1" type="button" value="点我试试" onclick="bTxt()">
<input id="btn2" type="text" value="1234">
</body>
</html>

87,972

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧