Подтвердить что ты не робот

Как вы переопределяете встроенное событие onclick?

Это кажется обманчиво простым.

Как вы переопределите событие onclick в следующем HTML с помощью JavaScript?

<a id="sample" href="..." onclick="alert('hello world')" />...</a>

Я пробовал это с помощью jQuery, но это не помогло:

$('#sample').attr('onclick','alert("done")')

Предположим, что HTML предварительно написан и не может быть изменен, кроме как манипулировать им с помощью JavaScript.

4b9b3361

Ответ 1

Попробуйте следующее:

// Setting the DOM element onclick to null removes 
// the inline click handler
$("#sample")[0].onclick = null;
$("#sample").click(function() { alert("done") });

Ответ 2

<a id="sample" href="..." onclick="alert('hello world'); return false;" />...</a>

или

$('#sample').attr('onclick','alert("done"); return false;')

Несмотря на возможность установки return false; либо непосредственно в onclick, либо с помощью jQuery, на самом деле не требуется использовать jQuery. Преимущество заключается в том, что по какой-либо причине ваш jQuery script приведет к 404, ваш код все равно будет работать.

Я нашел ответ здесь.

Ответ 3

Это также можно сделать без jQuery:

document.getElementById("sample").setAttribute('onclick','alert("done")');

Ответ 4

Try:

document.getElementById("sample").onclick = $.noop;

$.noop == function(){};

jQuery noop