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

Какая разница между использованием jQuery onclick и атрибутом onclick?

Какая разница между двумя двумя фрагментами HTML (извинения, если есть опечатки, когда я набираю эту команду)?

Использование jQuery:

<script type="text/javascript">
    $(document).ready(function() {
        $("#clickme").click(function() {
            alert("clicked!");
        });
    });
</script>

<a id="clickme" href="javascript:void(0);">click me</a>

Не использовать jQuery:

<a id="clickme" href="javascript:void(0);" onclick="alert('clicked!');">click me</a>
4b9b3361

Ответ 1

Одно большое различие заключается в том, что события jQuery обрабатываются в реестре, который анализируется на событие click. Реально, это означает, что вам разрешено назначать несколько обратных вызовов и запускать их в том порядке, в котором они были зарегистрированы:

<script type="text/javascript">
    $(document).ready(function() {
        $("#clickme").click(function() {
            alert("clicked!");
        });
        $("#clickme").click(function() {
            alert("I concur, clicked!");
        });
    });
</script>

Оба они будут вызываться в событии click в этом порядке. Событие "real" onClick переопределяется системой управления реестром jQuery. В структуре документа ванили без такой системы, как jQuery, может быть только одно событие onClick.

Ответ 2

Это также более чистое разделение кода пользовательского интерфейса (HTML) и логического кода (JavaScript). Это делает чтение немного легче.

Ответ 3

Одно из отличий заключается в том, что добавление обработчиков с помощью jQuery click не удаляет предыдущие обработчики.