Не могу понять, почему onclick срабатывает после создания объекта, а не по нажатию на кнопку? Див должен быть черным(прописал в классе), после нажатия на кнопку - див становится красным... Но обработчик срабатывает после создания объекта QuestBox!
<!DOCTYPE html>
<html>
<head>
<title>MindTest</title>
<meta charset="UTF-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/themes/flick/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
<style>
.QuestDiv_class{
background-color: black;
position: relative;
margin: 5% 5% 5% 5%;
height: 100px;
width: 20%;
}
</style>
</head>
<body>
<script type="text/javascript">
var QuestBox = function() {
var QuestDiv, Button;
this.QuestDiv = document.createElement("div");
this.QuestDiv.setAttribute("class", "QuestDiv_class");
this.QuestDiv.parent = this;
this.Button = document.createElement("button");
this.Button.innerHTML = "PRESS ME";
this.radioTap = function() {
this.style.backgroundColor = "red";
}
//////------------------------------------------------------------------
this.Button.onclick = this.radioTap.apply(this.QuestDiv);
/////-----------this.Button.onclick = window.alert("Hello world"); - работает так же после создания QuestBox, а по-сути должно по нажатию на Button.
this.QuestDiv.appendChild(this.Button);
document.body.appendChild(this.QuestDiv);
};
var QB = new QuestBox();
</script>
</body>