Затем изменить имя функции? - PullRequest
0 голосов
/ 10 мая 2019

Есть ли способ изменить имя функции в JavaScript при использовании onmouseover?

В HTML DOM у нас есть что-то вроде этого:

<img class="..." src="..." alt="..." onclick="click1()"> onmouseover="changeFunction()">

InJavaScript:

function changeFunction() {....}

function onclick1() {...}

Событие, которое я хочу вызвать, выглядит примерно так:

Когда мышь находится надизображение, это вызовет функцию 'onmouseover', которая изменит «имя функции onclick», которое изменит имя с «function click1 () {...}» на «function click2 () {...}.

*hovers over image* and triggers the Name change

function click1() is changed to function click2()

Это все равно сохранит остальные коды внутри него. Все, что он делает - это изменяет имя функции.

1 Ответ

0 голосов
/ 10 мая 2019

Это должно делать то, что вы хотите:

<script>
  function click1() {
    console.log('click 1');
  }
  function click2() {
    console.log('click 2');
  }
  function changeFunction(element) {
    element.onclick = click2;
  }
</script>

<img src="https://via.placeholder.com/350x65" onclick="click1()" onmouseover="changeFunction(this)">

Когда вы наводите курсор мыши на изображение, оно меняет функцию onclick с click1 на click2.

...