Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработка событий (https://javascript.ru/forum/misc/85509-obrabotka-sobytijj.html)

Doktor1962 28.09.2023 16:03

Обработка событий
 
С помощью ява скрипт можно привязать к элементу обработку события. Например:
el.onclick=koechto;

А как поступить, если в вызываемую фунцию нужно передать параметры? Что то типа
el.onclick=koechto(this);
???

voraa 28.09.2023 16:18

el.onclick = () => koechto(this);

Doktor1962 29.09.2023 13:32

Не работает(

voraa 29.09.2023 13:53

Что надо то. Конкретнее.
Функцию обработчика, что там this, кусок, где присваивается...

Doktor1962 02.10.2023 19:48

создать функцию отмены
 
Цитата:

Сообщение от voraa (Сообщение 553451)
Что надо то. Конкретнее.
Функцию обработчика, что там this, кусок, где присваивается...

<!doctype html>
<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>

рони 02.10.2023 21:30

Doktor1962,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

voraa 02.10.2023 22:02

Цитата:

Сообщение от Doktor1962
//нужна восстновить функцию 'bukva(this)' color(this) и значения ячеек

Какие проблемы то?
<!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>

Doktor1962 04.10.2023 07:28

спасибо вам огромное, я имел ввиду именно вот этот формат записи: cells[1].onclick = function () {bukva(this)};
еще раз спасибо


Часовой пояс GMT +3, время: 16:50.