jQuery + HTML: использование кнопки или

0

Всем доброе утро,

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

<?php 
$file = 'count.txt';
$count = file_get_contents($file);
$count = (int) $count + 1;
file_put_contents($file, $count);
?>
<html>
  <body>
    <p><?php echo $count; ?></p>
    <a href="" id="hello">Cliquez !</a>
  </body>
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script>
    $('#hello').click(function(){
      $(this).hide();
    });
  </script>
</html>

PHP-скрипт подсчитывает, сколько раз загружалась страница и отображает ее. Часть html содержит ссылку <a>, которую я хочу скрыть в сценарии jQuery.

Вышеупомянутый пример не скрывает <a>, или мы не можем видеть его скрытым, потому что браузер обновляет страницу сразу после, так как href пуст. Итак, счет php просто увеличивается, а <a> не скрывается.

Я искал свою проблему и обнаружил, что мне нужно использовать "return false"; в конце моего скрипта, чтобы остановить распространение событий в браузере. Хорошо понял.

Но, на самом деле, "верните ложь"; функция фактически содержит 2 функции: preventDefault() и stopPropagation(). См. Это http://fuelyourcoding.com/jquery-events-stop-misusing-return-false/

Поэтому я хотел бы знать, предпочтительнее ли это (оптимизировано и семантически правильно) использовать тег <button> вместо <a> или продолжать использовать тег <a> и заменить return false; с помощью preventDefault.

заранее спасибо

Теги:
optimization
semantics
preventdefault

1 ответ

1
Лучший ответ

Вы должны подавить событие по умолчанию, которое происходит при нажатии, таким образом вы можете выбрать кнопку eiter или a-tag для своего собственного (стиля?) Предпочтения. Если его семантически правильная также зависит от контекста;)

<script>
    $('#hello').click(function(event){
        event.preventDefault();
        $(this).hide();
    });
</script>

Также см.: http://www.w3schools.com/jquery/event_preventdefault.asp

  • 0
    Я хочу показать лайтбокс. Тег является правильным или я должен использовать тег кнопки?
  • 0
    И действительно ли я должен использовать protectDefault для тега кнопки?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню