【发布时间】:2018-06-24 21:49:15
【问题描述】:
下面的代码是改变按钮的背景颜色,它运行良好。
<html>
<head>
<title>check</title>
<script type='text/javascript'>
function checkRun(){
var obj = {
client: 'Corporate',
number: 5541,
type: 'CL',
fnct : function (){
btn.style.backgroundColor='red' ;
}
}
var btn = document.querySelector('button');
btn.onclick = obj.fnct();
}
</script>
</head>
<body>
<input type='text' name='checkName' id='check1' value='val1' class='class1'/><br><br>
<button type='button' name='checkName' id='check3' value='val3' class='class3' onclick='checkRun()'>Hello</button>
</body>
</html>
当我如下改变函数调用时,只有当我点击按钮两次时背景颜色才会改变。我不明白这种行为背后的原因。
请解释一下。
btn.onclick = function () {
obj.fnct();
}
【问题讨论】:
-
不,第一次点击时颜色会随着原始代码而改变。 @ArunPJohny
标签: javascript event-handling dom-events nested-function