Попался вопрос о том, как можно изменить свойство
onclick, прописав туда другую функцию, но сохранить при этом возможность выполнения первоначально заданной там функции. Тема древняя, но, возможно, кто-то не в курсе, т.к. вопрос этот был задан буквально на днях
- Код: Выделить всё
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
<style>
a:hover{
color: crimson;
cursor: pointer;
}
</style>
</head>
<body>
<a onclick="one()">Смотри в консоли функцию, исполняемую на onclick</a>
<br /><br />
<a>Сменить ф-цию для onclick первого <a></a>
<script>
let onclickSaver;
const a1 = document.querySelector('a'),
a2 = document.querySelector('a:last-of-type');
a2.addEventListener('click', function(){
onclickSaver = a1.onclick;
a1.onclick = onclickSaver == two ? one : two;
});
function one(){
console.log( 'Function one() has just been fired' );
}
function two(){
console.log( 'Function two() has just been fired' );
}
</script>
</body>
</html>