Хотелось бы, чтобы при нажатии на кнопку прошлый клик с переменной 'hi' удалялся. Но почему-то этого не происходит
let li = document.getElementsByTagName('li');
let butt = document.getElementById('delete');
function action(text){
console.log(text);
}
Array.from(li, function (item) {
item.addEventListener('click', function () {
action('hi');
});
});
butt.addEventListener('click', function () {
Array.from(li, function (item) {
item.removeEventListener('click', function () {
action('hi');
});
item.addEventListener('click', function () {
action('bye');
});
});
});
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<button id="delete">Delete first click</button>
Потому что такие конструкции
item.addEventListener('click', function () {
action('hi');
});
...
item.removeEventListener('click', function () {
action('hi');
});
создают новый объект функции-обработчика.
let li = document.getElementsByTagName('li');
let butt = document.getElementById('delete');
function action(text) {
console.log(text);
}
function hi() {
action('hi');
}
Array.from(li, function(item) {
item.addEventListener('click', hi);
});
butt.addEventListener('click', function() {
Array.from(li, function(item) {
item.removeEventListener('click', hi);
item.addEventListener('click', function() {
action('bye');
});
});
});
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<button id="delete">Delete first click</button>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я обучаюсь сейчас reduxЗадача стоит в том, чтобы переписать виджет комментариев с одного react на redux