Как использовать ссылку для вызова JavaScript?

Как использовать ссылку для вызова JavaScript-кода?

Ответ 1

<a onclick="jsfunction()" href="#">

или

<a onclick="jsfunction()" href="javascript:void(0);">

Edit:

Вышеупомянутый ответ действительно не является хорошим решением, много узнав о JS с тех пор, как я изначально разместил. Подробнее о решении этой проблемы см. Ответ под угрозой исчезновения ниже.

Ответ 2

Ненавязчивый JavaScript, отсутствие зависимости от библиотеки:

<html>
<head>
    <script type="text/javascript">

        // Wait for the page to load first
        window.onload = function() {

          //Get a reference to the link on the page
          // with an id of "mylink"
          var a = document.getElementById("mylink");

          //Set code to run when the link is clicked
          // by assigning a function to "onclick"
          a.onclick = function() {

            // Your code here...

            //If you don't want the link to actually 
            // redirect the browser to another page,
            // "google.com" in our example here, then
            // return false at the end of this block.
            // Note that this also prevents event bubbling,
            // which is probably what we want here, but won't 
            // always be the case.
            return false;
          }
        }
    </script>
</head>
<body>
    <a id="mylink" href="http://www.google.com">linky</a>        
</body>
</html>

Ответ 3

И почему не ненавязчиво с jQuery:

  $(function() {
    $("#unobtrusive").click(function(e) {
      e.preventDefault(); // if desired...
      // other methods to call...
    });
  });

HTML

<a id="unobtrusive" href="http://jquery.com">jquery</a>

Ответ 4

<a href="javascript:alert('Hello!');">Clicky</a>

EDIT, спустя годы: НЕТ! Никогда не делай этого! Я был молод и глуп!

Ответ 5

Или, если вы используете PrototypeJS

<script type="text/javascript>
  Event.observe( $('thelink'), 'click', function(event) {
      //do stuff

      Event.stop(event);
  }
</script>

<a href="#" id="thelink">This is the link</a>

Ответ 6

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

  • ссылка загружается как обычно:

    < a id = "DaLink" href= "http://host/toAnewPage.html" > нажмите здесь </a>

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

  1. javascript запускается при загрузке страницы:

     window.onload = function(){
            document.getElementById("DaLink").onclick = function(){
                   if(funcitonToCall()){
                       // most important step in this whole process
                       return false;
                   }
            }
     }
    
  2. если javascript работает успешно, возможно, загружая содержимое на текущей странице с помощью javascript, false возвращает отмену ссылки. другими словами, если поставить return false, это приведет к отключению ссылки, если javascript успешно работает. Позволяя ему работать, если javascript этого не делает, создавая хорошую резервную копию, чтобы ваш контент отображался в любом случае, для поисковых систем и если ваш код разбивается или просматривается в системе, отличной от javascript.

Лучшая книга на эту тему - "Dom Scription" Джереми Кейта

Ответ 7

Я думаю, вы можете использовать событие onclick, что-то вроде этого:

<a onclick="jsFunction();">

Ответ 8

<a href="javascript:void(code)"></a>