Я показываю div с цветом фона по умолчанию. Когда я нажимаю на него один раз, он меняет цвет. Второй щелчок ничего не делает, потому что у div есть этот код: "this.onclick = null". Это хорошо работает.
Однако, после того, как я один раз нажал на div, я хочу нажать кнопку, чтобы восстановить его функциональность при нажатии. Но кнопка, которую я создал для этой цели, не работает, потому что я не знаю, какой код javascript использовать. Кто-нибудь знает?
Как видите, я работаю с Bootstrap 3. (Обратите внимание, что я новичок, обладающий только базовыми c знаниями php и js.) Вот мой код :
HTML для div:
<div class="row">
<div class="col-sm-12">
<div id="testDiv" style="background-color: #0000FF" onclick="colorClick(id); this.onclick=null;">
Clicking this div once changes the color.
</div>
</div>
</div>
JAVASCRIPT для div:
function colorClick(id){
var randomColor = '#'+Math.floor(Math.random()*16777215).toString(16);
document.getElementById(id).style.backgroundColor=randomColor;
/* The random color generator is from stackoverflow.com/questions/1484506/random-color-generator */
}
HTML для кнопки:
<div class="row">
<div class="col-sm-12">
<button type='button' class='btn btn-default btn-lg' onclick=reEnableOnclick()>
This button should re-enable the onclick functionality, but it does not
</button>
</div>
</div>
JAVASCRIPT для кнопки:
function reEnableOnclick(){
document.getElementById("testDiv").onclick=click; /* This is only pseudo-code. What real code should I put here? */
}
(Обе функции js находятся в отдельном. js документе)
РЕДАКТИРОВАТЬ # 2: Это необходимо для работать около 100 дел на одной странице.