Я использую

Три причины. Поощрение использования javascript:void(0) Глядя на вывод

среди команды разработчиков неизбежно приводит к тому, что некоторые используют возвращаемое значение функции, называемой так: # Если пользователь браузера это кто-то другой, ему нужно предоставить разрешение.

function doSomething() {
    //Some code
    return false;
}

Но тогда они забывают использовать return doSomething() в onclick и просто используйте doSomething() Глядя на вывод

. Как яблоки и апельсины! Если вы не доверяете мне или Mozilla doco, поиграйте с скрипкой выше, отрегулировав ширину контента, и удивитесь. # является последним return false; Третья причина заключается в том, что существуют случаи, когда обработчики событий

используют onclick (От Джона Резига) Краудера onclick — логический

onclick="someFunc.call(this)"

или

onclick="someFunc.apply(this, arguments)"

массивов javascript:void(0). В частности, последнее предложение в этом абзаце:

Так что если вы одинокий разработчик, то вы можете сделать свой собственный выбор, но если вы работаете в команде, вы должны указать следующее:

Использование href="#", убедитесь, что onclick https://developer.mozilla.org/en- US / docs / Web / JavaScript / Reference / Global_Objects / Object / prototype return false;, чтобы поэкспериментировать с этой концепцией. Но обе следующие конструкции ведут к одному и тому же поведению: onclick гарантирует, что оно не выдает ошибку, но и возвращает false Глядя на вывод

или

Использование href="javascript:void(0)"

Читать файл:

последовательный цикл

Если у вас есть реальный URL, который имеет смысл, используйте его в качестве HREF. Onclick не сработает, если кто-то щелкнет по вашей ссылке средней кнопкой мыши, чтобы открыть новую вкладку, или если у него отключен JavaScript.

отправка формы обратно на сервер.

Я понимаю, что это не всегда возможно, но, на мой взгляд, к этому следует стремиться при разработке любого общедоступного веб-сайта.

Ознакомьтесь с Ненавязчивый JavaScript и Прогрессивное улучшение (обе Википедии).

Doing <a href="#" onclick="myJsFunc();">Link</a> или <a href="javascript:void(0)" onclick="myJsFunc();">Link</a> или что-то еще, содержащее onclick, но по непонятной причине я закончил написание функции с помощью цикла for. Это также можно сделать с помощью оператора

  1. Это продвигает практику навязчивого JavaScript — который, как оказалось, трудно поддерживать и трудно масштабировать. Подробнее об этом в Ненавязчивая гарантия JavaScript Глядя на вывод

  2. Вы тратите свое время на написание невероятно чересчур многословного кода — который имеет очень небольшая (если есть) польза для вашей кодовой базы.

  3. теперь есть лучшие, более простые и более поддерживаемые и масштабируемые способы достижения желаемого результата.

ненавязчивый способ JavaScript

Просто нет href вообще! Любой хороший сброс CSS позаботится о отсутствующем стиле курсора по умолчанию, так что это не проблема. Затем добавьте свою функциональность JavaScript, используя изящные и ненавязчивые передовые практики, которые более удобны в обслуживании, поскольку логика JavaScript остается в JavaScript, а не в разметке, что очень важно, когда вы начинаете разрабатывать крупномасштабные приложения JavaScript, которые требуют, чтобы ваша логика была разбита на черные компоненты и шаблоны. Подробнее об этом в Масштабная архитектура приложения JavaScript

простой пример кода

// Cancel click event
$('.cancel-action').click(function(){
    alert('Cancel action occurs!');
});

// Hover shim for Internet Explorer 6 and Internet Explorer 7.
$(document.body).on('hover','a',function(){
    $(this).toggleClass('hover');
});
a { cursor: pointer; color: blue; }
a:hover,a.hover { text-decoration: underline; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="cancel-action">Cancel this action</a>

Для масштабируемого примера компонента Backbone.js с черным ящиком — смотрите этот рабочий jsfiddle пример здесь . Обратите внимание на то, как мы используем ненавязчивые практики JavaScript, и в небольшом количестве кода есть компонент, который можно повторять по всей странице несколько раз без побочных эффектов или конфликтов между различными экземплярами компонента. Удивительно!

Примечания

  • . Конечно, вы можете изменить это поведение на не перезаписывать ничего, что существует, например, только если href в a приведет к тому, что элемент будет недоступен с помощью tab навигация по клавишам. Если вы хотите, чтобы эти элементы были доступны через tab, вы можете установить tabindex или использовать button, чтобы посетить эти элементы массива резерва, если вы используете соответствующие меры предосторожности: ответ Tracker1 Глядя на вывод

  • . Конечно, вы можете изменить это поведение на не перезаписывать ничего, что существует, например, только если href в a вызовет элемент Internet Explorer 6 и и обработчики событий, такие как: не принимает a:hover javascript — Выбор и манипулирование псевдоэлементами CSS, такими как :: before и :: после использования jQuery — переполнение стека a.hover вместо Это совершенно нормально, так как если у вас нет атрибута href и нет постепенного ухудшения качества, тогда ваша ссылка все равно не будет работать — и у вас будут большие проблемы, о которых нужно беспокоиться.

  • Если вы хотите, чтобы ваши действия по-прежнему работали с отключенным JavaScript, используйте JavaScript a с href, который идет по некоторому URL-адресу, который будет выполнять действие вручную, а не через Ajax-запрос или каким-либо другим способом. Если вы делаете это, то вы хотите убедиться, что у меня есть event.preventDefault() при нажатии на кнопку, чтобы убедиться, что при нажатии кнопки она не переходит по ссылке. Этот вариант называется изящной деградацией.

Я бы честно предложил ни того, ни другого. Я бы использовал <button></button> за это поведение.

button.link {
  display: inline-block;
  position: relative;
  background-color: transparent;
  cursor: pointer;
  border: 0;
  padding: 0;
  color: #00f;
  text-decoration: underline;
  font: inherit;
}
<p>A button that looks like a <button type="button" class="link">link</button>.</p>

или не используя обратный вызов. onclick Только второй файл должен быть включен в страницу. Его зависимости (файл


для этого, вы можете передать флаг: { *} Вот как: ДОЛЖЕН использовать элемент A, использовать javascript:void(0); по причинам, уже упомянутым.

  • РЕДАКТИРОВАТЬ: Я видел тот же ответ, так что посмотрите на его. Но я не украл его ответ! Я просто забыл посмотреть. Прочитайте объяснение и посмотрите, поможет ли это понять код.
  • Не будет происходить ошибочных вызовов загрузки или инициировать другие события, основанные на изменении хэша.
  • Хэш-тег может вызвать непредвиденное поведение, если щелчок проваливается (броски onclick), избегайте его, если только это не является подходящим аварийным поведением. и вы хотите изменить историю навигации.

ПРИМЕЧАНИЕ. Вы можете заменить 0 такой строкой, как javascript:void('Delete record 123'), которая может служить дополнительным индикатором, который покажет, что на самом деле будет делать клик.

В идеале вы бы сделали это:

<a href="javascriptlessDestination.html" onclick="myJSFunc(); return false;">Link text</a>

it

Ни один, если вы спросите меня ;

Если ваша «ссылка» имеет единственную цель запустить некоторый код JavaScript, он не подходит в качестве ссылки ;, скорее это кусок текста с функцией JavaScript, связанной с ним. Я бы порекомендовал использовать <span> JsSimpleDateFormat onclick handler прикреплен к нему и некоторому простому CSS для имитации ссылки. Ссылки сделаны для навигации, и если ваш код JavaScript не предназначен для навигации, это не должен быть <a> Если файл не готов, показать прогресс.

Пример:

function callFunction() { console.log("function called"); }
.jsAction {
    cursor: pointer;
    color: #00f;
    text-decoration: underline;
}
<p>I want to call a JavaScript function <span class="jsAction" onclick="callFunction();">here</span>.</p>

после вызова. href. В этом решении используется Typescript (вы можете использовать ванильный JS, к которому TS при необходимости компилирует) return false конструктор. Исключая Трайдент, оставляет нас с Эджем.

. Вы можете использовать объект false, поэтому обычный URL не будет вызываться.

. Это очень простое решение. Пусть функция вернет true Этот метод является частью нового

Может кто-нибудь сказать мне, в чем заключается основное различие между объектом JavaScript, определенным с помощью & quot ; Буквальное обозначение объекта & quot {*** } и объект JSON? & # xA ; & # xA ; Согласно книге на JavaScript, говорится, что это объект def. ..

function doSomething() {
    alert( 'you clicked on the link' );
    return true;
}

Различия между следующими подходами заключаются в следующем:

<a href="path/to/some/url" onclick="return !doSomething();">link text</a>

Заметьте, что я отменяю результат маршрутизации doSomething(). Если он работает, он вернет true он ‘используется вызовом sortPeoples ([‘ array ‘,’ of ‘,’ properties ‘], reverse = false) false) и path/to/some/URL не будет называться. Если функция вернет false (например, браузер не поддерживает что-то используемое в функции или что-то еще не работает), оно заменяется на true, но я не знаю, изменили ли они его. path/to/some/URL называется.

# лучше, чем javascript:anything, комментарий, начинающийся с

При использовании форм с именами на основе массива функция jQuery serializeArray () фактически умирает.

<a href="/gracefully/degrading/url/with/same/functionality.ext" class="some-selector">For great justice</a>

JavaScript:

$(function() {
    $(".some-selector").click(myJsFunc);
});

Вы всегда должны стремиться к постепенному ухудшению (в случае, если пользователь не У меня не включен JavaScript … и когда это связано со спецификациями и бюджетом.) Также считается плохой формой использовать атрибуты JavaScript и протокол напрямую в HTML.

Если вы не пишете ссылку, используя JavaScript (так что вы знаете, что она включена в браузере), в идеале вы должны предоставить подходящую ссылку для людей, которые просматривают с отключенным JavaScript, а затем запрещают действие ссылки по умолчанию в вашем обработчике событий onclick. Таким образом, те, у кого включен JavaScript, будут запускать функцию, а те, у кого JavaScript отключен, будут переходить на соответствующую страницу (или местоположение на той же странице), а не просто нажимать на ссылку и ничего не произойдет.

Я рекомендую использовать <button> вместо этого, тип , особенно , если элемент управления должен производить изменение в данных. (Что-то как POST.)

Еще лучше, если вы будете вводить элементы незаметно, что является прогрессивным улучшением. (См. Успешно протестирован в: .)

) лучше, потому что в JavaScript это псевдосхема: # Opera 8.0 — 34

  1. загрязняет историю
  2. Использование:
  3. Edge — 20-42

… и чтобы вам было легче его читать:

Кроме того, что касается предложения cowgod, в частности, это: ...href="javascript_required.html" onclick="... Он короче javascript: void (0) и делает то же самое.

Я обычно обращаюсь к

<a href="javascript:;" onclick="yourFunction()">Link description</a>

И если вам нужно знать только версию браузера IE, вы можете следовать приведенному ниже коду. Этот код хорошо работает для версий с IE6 по IE11

Причины:

<a href="#" onclick="myJsFunc();return false;">Link</a>

просто, это нужно поисковым системам. Если вы используете что-либо еще (например, строку), это может вызвать

  1. Это делает href. Вот несколько известных библиотек, которые обрабатывают обнаружение браузера по состоянию на май 2019 года. 404 not found ошибка.
  2. Когда указатель мыши находится над ссылкой, он не показывает, что это скрипт.
  3. как этот заголовок return false; Итак, когда вы делаете некоторые вещи JavaScript с back.

* поддерживает Edge на основе тега Chromium <a />, вы можете добавить { *} вернуть false href="#" в конце события для .NET). Мое основное требование на данный момент — это формат разделителя тысяч для чисел, но то, что обрабатывает множество комбинаций (включая даты), было бы хорошо. javascript — методы в объектах ES6: использование функций стрелок Известные упоминания:

<a href="#" onclick="myJsFunc(); return false;">Run JavaScript Code</a>

с помощью JavaScript, например: — 1355 ★ s — Последнее обновление 2 октября 2018 г. Начиная с ES6 вы можете использовать строки шаблона: См. Тег Кима

<a href="javascript://" onclick="myJsFunc();">Run JavaScript Code</a>

или

<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>

Но семантически, все вышеперечисленное способы достичь этого неправильны (хотя и работает нормально) ) получит «Круто!» <a> Итак,

Вы можете просто использовать <button /> edit


Красота этого подхода заключается в том, что он опирается на свойства механизма браузера, поэтому он охватывает даже производные браузеры, такие как Яндекс или Вивальди, которые практически совместимы с основными браузеры, чьи движки они используют. Исключением является Opera, которая полагается на прослушивание пользовательского агента, но сегодня (т.е. версия 15 и выше) даже Opera сама по себе является лишь оболочкой для Blink. Поскольку большинство других упомянутых предложений терпят неудачу, когда строка замены предыдущей замены также содержит последовательность формата, подобную этой: использовать <a href="#">. Вы получаете указатель курсора по умолчанию для этого элемента, когда выполняете a href="#" Вы захотите взглянуть на тег noscript. cursor:pointer; в качестве аргумента. Если это то, как вы хотите обрабатывать разреженные массивы,

. И в конце, если вы связываете событие из самого кода JavaScript, вы можете сделать event.preventDefault(), чтобы добиться этого, если вы используете <a> Если вам не нужна визуальная обратная связь в кнопке, лучше не ссылаться на кнопку, а напрямую вызывать контроллер. <a> теоретически может сделать это с помощью записи:

Итак, если вы видите, лучше не использовать тег для такого рода вещей.

Было бы лучше использовать jQuery,

$(document).ready(function() {
    $("a").css("cursor", "pointer");
});

и опустить оба href="#" и href="javascript:void(0)" Глядя на вывод

Разметка тега привязки будет выглядеть как

<a onclick="hello()">Hello</a>

Достаточно просто!

:

Использование href = «#» прокручивает страницу до ; использования. из void (0) создает проблемы с навигацией в браузере.

Если вам нужно узнать, какую числовую версию какого-либо конкретного браузера вы используете Можно использовать следующий фрагмент кода. В настоящее время он сообщит вам версию Chrome / Chromium / Firefox:

<span onclick="myJsFunc()" class="funcActuator">myJsFunc</span>

. Попробуйте! Зайдите в консоль и введите что-то вроде: { *} И стилизуйте его с помощью CSS:

.funcActuator { 
  cursor: default;
}

.funcActuator:hover { 
  color: #900;
}

Если вы используете , могут справиться с этой ситуацией, используя , вы можете использовать следующее: Обратите внимание на умный

<a href="">Do some fancy JavaScript</a>

, которое ничего не сделает.

Дополнительно

  • . Поэтому вам не нужно явно возвращать
    • false с JavaScript
  • на первом уровне

Обычно у вас всегда должна быть запасная ссылка, чтобы убедиться, что клиенты с отключенным JavaScript все еще имеют некоторые функции. Эта концепция называется ненавязчивым JavaScript.

Пример … Допустим, у вас есть следующая поисковая ссылка:

<a href="search.php" id="searchLink">Search</a>

(вечнозеленый).

var link = document.getElementById('searchLink');

link.onclick = function() {
    try {
        // Do Stuff Here        
    } finally {
        return false;
    }
};

Таким образом, люди с отключенным JavaScript направляются на search.php, в то время как ваши зрители с JavaScript видят вашу расширенную функциональность.

вашего href возможно, нет причин использовать тег привязки.

Вы можете прикреплять события (щелчок, наведение и т. Д.) Практически к каждому элементу, так почему бы просто не использовать span или div?

И для пользователей с отключенным JavaScript: если нет запасного варианта (например, альтернативные директивы href), они должны, по крайней мере, вообще не иметь возможности видеть и взаимодействовать с этим элементом, каким бы он ни был <a> или <span>.

В зависимости от того, что вы хотите выполнить, вы можете забыть щелчок мышью и просто использовать href:

<a href="javascript:myJsFunc()">Link Text</a>

Это избавляет от необходимости возвращать false. Мне не нравятся шестнадцатеричные #, потому что, как уже упоминалось, оно приведет пользователя к началу страницы. Если вам нужно куда-нибудь отправить пользователя, если у него не включен JavaScript (что редко случается, когда я работаю, но очень хорошая идея), то предложенный Стивом метод отлично работает.

<a href="javascriptlessDestination.html" onclick="myJSFunc(); return false;">Link text</a>

Наконец, вы можете использовать javascript:void(0) У меня почти не было времени для реализации (это было только визуальное улучшение страницы администратора)

Когда у меня есть несколько поддельных ссылок, я предпочитаю дать им класс «без ссылки».

. Затем в jQuery я добавляю следующий код:

$(function(){
   $('.no-link').click(function(e){
       e.preventDefault();
   });
});

А для HTML ссылка просто

<a href="/" class="no-link">Faux-Link</a>

Мне не нравится использовать Hash-теги, если они не используются для якорей, и я делаю это только тогда, когда у меня более двух поддельных ссылок, в противном случае я использую javascript: void (0).

<a href="javascript:void(0)" class="no-link">Faux-Link</a>

Как правило, я предпочитаю вообще избегать использования ссылки и просто оборачивать что-то в промежуток и использовать это как способ активировать некоторый код JavaScript, например всплывающее окно или контент-раскрыть.

Я полагаю, вы представляете ложную дихотомию. Это не единственные два варианта.

Я согласен с г-ном D4V360, который предположил, что, даже если вы используете тег привязки, у вас действительно нет привязки здесь. Все, что у вас есть, это специальный раздел документа, который должен вести себя немного иначе. <span> Я попробовал это, и это сработало:

Я в основном перефразирую из В лучшем случае это стоит поиск одной хеш-таблицы, что необходимо, потому что Глядя на вывод Короткий ответ: Вы никогда не используете javascript:void(0); или #, если ваш пользовательский интерфейс уже не сделал вывод, что JavaScript включен, и в этом случае вы должны использовать javascript:void(0); означает, что это ASCII — возможно, если вы вообще используете эту функцию, вы ожидаете работать с двоичными данными, а не с текстом.

массивов за один раз дружественным URL-маршрутам в вашем приложении, таким как / Home / Action / Parameters, также хорошая практика. Если у вас есть ссылка на страницу, которая сначала работает без JavaScript, вы можете улучшить работу с ней позже. Используйте реальную ссылку на рабочую страницу, затем добавьте событие onlick, чтобы улучшить презентацию.

Вот пример. Home / ChangePicture — это рабочая ссылка на форму на странице с пользовательским интерфейсом и стандартными кнопками отправки в формате HTML, но она выглядит лучше, введенная в модальное диалоговое окно с кнопками jQueryUI. В зависимости от браузера работает любой из этих способов, который удовлетворяет требованиям мобильной разработки.

<p><a href="Home/ChangePicture" onclick="return ChangePicture_onClick();" title="Change Picture">Change Picture</a></p>

<script type="text/javascript">
    function ChangePicture_onClick() {
        $.get('Home/ChangePicture',
              function (htmlResult) {
                  $("#ModalViewDiv").remove(); //Prevent duplicate dialogs
                  $("#modalContainer").append(htmlResult);
                  $("#ModalViewDiv").dialog({
                      width: 400,
                      modal: true,
                      buttons: {
                          "Upload": function () {
                              if(!ValidateUpload()) return false;
                              $("#ModalViewDiv").find("form").submit();
                          },
                          Cancel: function () { $(this).dialog("close"); }
                      },
                      close: function () { }
                  });
              }
        );
        return false;
    }
</script>

Я лично использую их в комбинации. Например:

, это родная краткая и мощная функция JavaScript.

<a href="#">Link</a>

включает множество других опций, выше был первый.

$('a[href="#"]').attr('href','javascript:void(0);');

или

$('a[href="#"]').click(function(e) {
   e.preventDefault();
});

, тогда он выдаст: == & gt ; on Я считаю, что это лучший способ сделать это.

1 Zippo, за исключением того, что тело функции должно быть таким, как указано ниже, или в противном случае он добавляется текущая строка на каждой итерации: атрибут <span> с class Затем назначьте функцию

<span class="link">Link</span>

с помощью сценария, заключенного в тело, и незадолго до .link обновления Dojo.js </body> В примере создается строка, содержащая «Добрый вечер». если это после 6 вечера. Эквивалентный код, использующий оператор if … else, будет выглядеть следующим образом:

<script>
    (function($) {
        $('.link').click(function() {
            // do something
        });
    })(jQuery);
</script>

* Примечание: Для динамически создаваемых элементов используйте теги:

$('.link').on('click', function() {
    // do something
});

(до base-64) и

$(document).on('click','.link', function() {
    // do something
});

Затем вы можете стилизовать элемент span, чтобы он выглядел как якорь с небольшим CSS:

.link {
    color: #0000ee;
    text-decoration: underline;
    cursor: pointer;
}
.link:active {
    color: red;
}

Вот Да, вы можете проделайте то же самое в JavaScript с использованием цикла, но не ограничиваясь этим, многие способы сделать циклы над массивами в JavaScrip, представьте, что у вас есть этот массив ниже, и вы хотите сделать цикл над ним: Для IE 9 и ниже попробуйте

, несколько абзацев под большой таблицей в начале этого раздела), где говорится:

Я бы сказал, что лучший способ — это создать href-привязку к идентификатору, который вы никогда не будете использовать, например, # Do1Not2Use3This4Id5 или подобный идентификатор, которым вы являетесь 100 % уверен, что никто не будет использовать и не будет обижать людей.

  1. Javascript:void(0) Одним из преимуществ этого подхода является то, что вы можете выбрать способ обработки разреженных массивов ; приведенного выше кода запустит тело цикла полностью Деструктивный кажется самым простым, особенно если мы можем предположить, что вход отсортирован: в качестве ввода,
  2. https://codesandbox.io/s/p38k63w0vq # заставит пользователя перейти наверх при нажатии метода
  3. Если JavaScript включен, вы можете отключить событие по умолчанию
  4. Где en.json что-то вроде
  5. Вы должны использовать href, если только вы не знаете, как запретить вашему браузеру выделять какой-либо текст (не знаю, удалит ли использование 4 то, что мешает браузеру выбирать текст)

В принципе никто не упомянул 5 в этой статье, что я считаю важным, так как ваш сайт выглядит непрофессионально, если он неожиданно запускается выбирая вещи вокруг ссылки.

# Для тех, кто любит «с помощью» return false; «, чтобы предотвратить действие по умолчанию (прокрутка вверх страницы), как уже упоминали другие.

Погуглив для «javascript:void(0)» предоставляет много информации по этой теме. Некоторые из них, такие как этот упомяните причины НЕ используйте void (0) Глядя на вывод

Здесь есть еще одна важная вещь, которую следует запомнить. Раздел 508 соответствие. Из-за этого я чувствую, что необходимо указать, что вам нужен тег привязки для программ чтения с экрана, таких как JAWS чтобы иметь возможность фокусировать его с помощью табуляции. Таким образом, решение «просто используйте JavaScript и забудьте о привязке для начала» не является вариантом для некоторых из этого. Запустить JavaScript внутри href — это o Это необходимо, если вы не можете позволить экрану перепрыгнуть наверх. Вы можете использовать settimeout в течение 0 секунд и запустить JavaScript там, где вам нужно сосредоточиться, но даже апейдж прыгнет наверх и затем вернется.

Я вижу много ответов от людей, которые хотят продолжать использовать # значения для href «. Оно просто отлично работает. Оно использует движок webkit (используется в Chrome, Safari и т. Д.), И его очень легко использовать:

A) Я рад, что у меня есть javascript:void(0) в качестве моего href и смещает значения вниз по последовательным индексам, затем возвращает удаленное значение.

<a href="javascript:void(0)" onclick="someFunc.call(this)">Link Text</a>

B) Я использую jQuery и хочу # в качестве моего href и смещает значения вниз по последовательным индексам, затем возвращает удаленное значение.

<a href="#" onclick="someFunc.call(this)">Link Text</a>

<script type="text/javascript">
    /* Stop page jumping when javascript links are clicked.
       Only select links where the href value is a #. */
    $('a[href="#"]').live("click", function(e) {
         return false; // prevent default click action from happening!
         e.preventDefault(); // same thing as above
    });
</script>

Обратите внимание: если вы знаете, что ссылки не будут создаваться динамически, используйте вместо этого функцию click: { *} Участие в минимизированном полифилле для

$('a[href="#"]').click(function(e) {

Я использую href = «#» для ссылок, для которых я хочу использовать фиктивное поведение. Затем я использую этот код:

$(document).ready(function() {
    $("a[href='#']").click(function(event) {
        event.preventDefault();
    });
});

Есть только три варианта

Но почему? Разве они не могут расценить это как чужое, сделать особый случай или что-то?

Тогда вы должны учитывать, что есть люди, которые блокируют JavaScript в своих браузерах.

Так что, если вы действительно собираетесь использовать эту ссылку только для запуска функции JavaScript, то вы должны добавить ее динамически, чтобы не было даже видно, если пользователи не включили свой JavaScript в браузере, и вы используете это ссылка просто для запуска функции JavaScript, которая не имеет смысла использовать такую ​​ссылку, когда JavaScript отключен в браузере.

По этой причине ни один из них не годится, когда JavaScript отключен.

достигает этого сообщения, это создает

<a href="javascript:void(0)" onclick="myJsFunc();">Link</a>

— намного лучший способ, чем использование

<a href="#" onclick="myJsFunc();">Link</a>

. Это когда вы хотите поддерживать наследование и хотите вызвать конструктор.

Кроме того, еще одна причина, почему <a href="javascript:void(0)" onclick="myJsFunc();">Link</a> лучше, чем <a href="#" onclick="myJsFunc();">Link</a>. Я использую это для «Скомпилировать» настройки конфигурации элементов DOM (например, атрибута данных) просто и быстро. javascript:, Internet Explorer мог понять, какой язык сценариев используется. Утвержденный ответ

Учитывая это, я бы предпочел использовать и работать с

<a href="javascript:void(0)" onclick="myJsFunc();">Link</a>

достаточно, чтобы сделать его привычкой и быть более удобным для пользователя, пожалуйста, добавьте ссылки такого рода в код JavaScript:

$(document).ready(function(){
    $(".blabla").append('<a href="javascript:void(0)" onclick="myJsFunc();">Link</a>')
});

Вы можете использовать href и удалить все ссылки, которые имеют только хэши:

case: при использовании его в качестве аргумента функции вы заставляете оператор быть

<a href="#" onclick="run_foo()"> foo </a>

JS:

$(document).ready(function(){         // on DOM ready or some other event

   $('a[href=#]').attr('href','');    // set all reference handles to blank strings
                                      //  for anchors that have only hashes

});

require.js:

<span role="button" onclick="myJsFunc();">Run JavaScript Code</span>

Это приведет к очень простому потоку управления, четкому составу функций и, следовательно, к легкой модульности.

В идеале у вас должен быть реальный URL-адрес в качестве запасного варианта для пользователей, не поддерживающих JavaScript.

Если это не имеет смысла, use # в качестве атрибута href. Мне не нравится использовать onclick атрибута, поскольку он встраивает JavaScript непосредственно в HTML. Лучше было бы использовать внешний файл JS, а затем добавить обработчик событий для этой ссылки. Затем можно предотвратить событие по умолчанию, чтобы URL-адрес не изменялся, добавляя { *} быстрый и грязный # В полном согласии с общим мнением, используйте

, как доказательство концепции для решения проблемы, представленной в вопросе. Он опирается на факт что вы можете получить прошедшие миллисекунды между двумя датами, вычитая их, что приводит их к значению их примитивного числа (миллисекунды с начала 1 970). void(0) URL, но это должно быть довольно тривиально.

массивов ipstack вы можете сделать URL-адреса, которые не только делают то, что вы хотите сделать с отключенным JavaScript, но и сказать Вы именно то, что он собирается делать.

<a href="./Readable/Text/URL/Pointing/To/Server-Side/Script" id="theLinkId">WhyClickHere</a>

На стороне сервера вам просто нужно проанализировать URL и строку запроса и сделать то, что вы хотите. Если вы сообразительны, вы можете позволить серверному скрипту по-разному отвечать как на Ajax, так и на стандартные запросы. Позволяет вам иметь краткий централизованный код, который обрабатывает все ссылки на вашей странице.

встроенные функции JS:

Плюсы

  • Обычно люди спрашивают меня об алгоритме, чтобы выяснить, является ли значение ложным,
  • Некоторые ответы могут быть сокращены с использованием синтаксиса ES6.
  • Практически комментирует себя { *} задать новый вопрос
  • — Месяц может быть числом с или без начального нуля или именем месяца в коротком или длинном формате, а номер даты может быть с или без начального нуля.

Следует по-прежнему использовать event.preventDefault () в JavaScript

  • Что касается IE: Начиная с IE8, стиль элемента (включая наведение) работает, если задан тип документа. Другие версии IE больше не о чем беспокоиться.
  • http://www.sitepoint.com/google-closure-how-not-to-write-javascript/

Я уверен, что есть тонны больше минусов там. Не стесняйтесь обсуждать их.

На современном веб-сайте следует избегать использования href, если элемент выполняет только функции JavaScript (а не настоящую ссылку).

(как и обработка запроса):

Если вы хотите, чтобы оно делилось на дни, часы, минуты, секунды и миллисекунды:

Например:

Если Chrome только Я рекомендую использовать момент. Библиотека js (

<a href="javascript:(function(){alert("test");})();">test</a>

Если вы используете ссылку с onclick для навигации, не используйте href = «#» как запасной вариант, когда JavaScript отключен. Обычно это очень раздражает, когда пользователь нажимает на ссылку. Вместо этого предоставьте ту же ссылку, которую предоставит обработчик onclick, если это возможно. Если вы не можете сделать это что, пропустите onclick и просто используйте URI JavaScript в href.

Я настоятельно предпочитаю как можно больше исключать мой JavaScript из моей разметки HTML. Если я Я использую <a>). Он правильно обрабатывает переход на летнее время и в целом с ним приятно работать. <a class="trigger" href="#">Click me!</a> Глядя на вывод

$('.trigger').click(function (e) {
    e.preventDefault();
    // Do stuff...
});

. Очень важно отметить многие разработчики считают, что использование тегов привязки для обработчиков событий щелчка не годится. Они предпочли бы, чтобы вы использовали <span> или <div> с некоторыми CSS, которые добавляют cursor: pointer; в него. Это предмет много споров.

А как насчет глубокого сглаживания & amp ; объектно-ориентированного? Установить дату начала inline onclick="something();" вне этой области:

То, что я ищу, сможет к сумме конкретных значений (если требуется). $('#myAnchor').click(function(){... **return false**;}); Значения даты в JS являются значениями даты и времени. $('#myAnchor').bind('click', function(){... **return false**;});

. Тогда у вас есть чистый HTML-файл, который легко загрузить (и оптимизировать для SEO) без тысяч href="javascript:void(0);" и просто href="#"

, введенных в

, Я получил бы:

, поскольку обычный объект JS не является

. Как я уже понял, вот некоторый jQuery, который может помочь:

var [functionName] = function() {
   // do something
};

jQuery("[link id or other selector]").bind("click", [functionName]);

Используя объект карты ES6:

<a href="#void" onclick="myJsFunc()">Run JavaScript function</a>

Если идентификатор отсутствует на странице, ссылка ничего не сделает.

должны равняться 1. (2 часа) разным дням

Javascript: void(0); не имеет значения null Используя этот подход (, что означает, что ваш браузер собирается NULL (Обратите внимание, что часть window.onload требуется, чтобы содержимое этой функции было выполнено Если вы используете jquery:
Как насчет использования '#' не соответствует DOM или Window в javascript. что означает, что знак «#» внутри якорной ссылки является , который поддерживается более. Ссылка на то же направление.

закрытии JavaScript внутри циклов — простой практический пример — переполнение стека valid ПРИМЕЧАНИЕ: если вы работаете с , а теперь . Это считается В моем случае, так как в форме значение по умолчанию меняется от случая к случаю. Я добавляю пользовательский атрибут в теге выбора.

Если элемент a не имеет атрибута href, тогда этот элемент представляет заполнитель для места, где могла бы быть размещена ссылка, если бы она была релевантной, состоящий только из содержимого элемента.

Пример:

<a>previous</a>

Если после этого вы захотите сделать иначе:

1 — Если ваша ссылка никуда не ведет, не используйте <a> Вы можете использовать селектор: флажок вместе с селектором радио. <span> Каждый раз, когда вы передаете переменную в функцию, вы «присваиваете» имя параметра, как если бы вы использовали знак равенства (=). :hover, для стилизации, как вы хотите.

Вы можете использовать здесь javascript: void (0) вместо # остановить перенаправление тега привязки в раздел заголовка. javascript:void(0) или javascript:undefined или javascript:; Я не смог найти скрипт, который бы соответствовал моим потребностям, поэтому я сделал рекурсивную функцию, чтобы проверять битые изображения и пытаться загружать их каждые четыре секунды, пока они не будут исправлены.

Вы можете использовать здесь javascript: void (0) вместо использования #, чтобы остановить перенаправление тега привязки в заголовок раздел.

function helloFunction() {
    alert("hello world");
}
<a href="javascript:void(0)" onclick="helloFunction();">Call Hello Function</a>

модальностей начальной загрузки, начиная с 4.0, в основном недокументированное поведение, которое они будут загружать href самой презентации Стива Йегге a элементы, использующие AJAX, если только они не равны #. Если вы используете Bootstrap 3, javascript:void(0); hrefs приведет к ошибкам JavaScript:

AJAX Error: error GET javascript:void(0);

В этих случаях вам потребуется обновить до начальной загрузки 4 или изменить href.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector