Обработка событий
С помощью ява скрипт можно привязать к элементу обработку события. Например:
el.onclick=koechto; А как поступить, если в вызываемую фунцию нужно передать параметры? Что то типа el.onclick=koechto(this); ??? |
el.onclick = () => koechto(this);
|
Не работает(
|
Что надо то. Конкретнее.
Функцию обработчика, что там this, кусок, где присваивается... |
создать функцию отмены
Цитата:
<html lang="uk"> <head> <script> function otmena(obj) { //нужна восстновить функцию 'bukva(this)' color(this) и значения ячеек } function bukva(obj) { alert(obj.innerText); } function color(obj) { obj.style.background="yellow"; obj.onclick=function(e){ this.style.background="green"; obj.onclick=null; } } function slovo() { alert(this.id); } function nove() { var mmm=document.getElementsByTagName("td"); for(i=0;i<4;i++) { mmm[i].innerText="Y"+i; mmm[i].onclick=slovo; } } </script> <meta charset="utf-8"> <title>пример</title> </head> <body> <input type='button' id='jk' value='Вперед' onclick='nove()'/> <input type='button' id='otm' value='Назад' onclick='otmena()'/> <p id= "Буквы"></p> <table width='200px' height='200px' border="1"> <tr><td id="1" onclick= 'bukva(this)'>А</td><td id="2" onclick= 'bukva(this)'>В</td></tr> <tr><td id="3" onclick= 'color(this)'>Ж</td><td id="4" onclick= 'color(this)'>З</td></tr> </table> </body> </html> |
Doktor1962,
Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [html run] ... минимальный код страницы с вашей проблемой [/html] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
Цитата:
<!doctype html>
<html lang="uk">
<head>
<script>
function otmena(obj)
{
//нужна восстновить функцию 'bukva(this)' color(this) и значения ячеек
const cells = document.querySelectorAll('td');
cells[0].innerText = 'А';
cells[1].innerText = 'В';
cells[2].innerText = 'Ж';
cells[3].innerText = 'З';
cells[0].onclick = cells[1].onclick = function () {bukva(this)};
cells[2].onclick = cells[3].onclick = function () {color(this)};
cells[2].style.backgroundColor = cells[3].style.backgroundColor = 'white';
}
function bukva(obj)
{
alert(obj.innerText);
}
function color(obj)
{
obj.style.background="yellow";
obj.onclick=function(e){
obj.style.background="green";
obj.onclick=null;
}
}
function slovo()
{
alert(this.id);
}
function nove()
{
var mmm=document.getElementsByTagName('td');
for(i=0;i<4;i++)
{
mmm[i].innerText="Y"+i;
mmm[i].onclick=slovo;
}
}
</script>
<meta charset="utf-8">
<title>пример</title>
</head>
<body>
<input type='button' id='jk' value='Вперед' onclick='nove()'/>
<input type='button' id='otm' value='Назад' onclick='otmena()'/>
<p id= "Буквы"></p>
<table width='200px' height='200px' border="1">
<tr><td id="1" onclick= 'bukva(this)'>А</td><td id="2" onclick= 'bukva(this)'>В</td></tr>
<tr><td id="3" onclick= 'color(this)'>Ж</td><td id="4" onclick= 'color(this)'>З</td></tr>
</table>
</body>
</html>
|
спасибо вам огромное, я имел ввиду именно вот этот формат записи: cells[1].onclick = function () {bukva(this)};
еще раз спасибо |
| Часовой пояс GMT +3, время: 22:01. |