2013-09-24 2 views
0

Доброе утро всем,Jquery + HTML: Использование кнопки или

Я на самом деле начинает развиваться с помощью 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»; в конце моего скрипта, чтобы остановить распространение событий в браузере. Хорошо понял.

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

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

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

ответ

1

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

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

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

+0

Я хочу показать осветитель. Тег тега правильный или мне нужно использовать тег кнопки? –

+0

И действительно ли мне нужно использовать preventDefault для тега кнопки? –

+1

AFAIK вы могли бы использовать оба - 'a' или' button' - для этой цели. Если вы используете кнопку-тег, вы действительно можете удалить код preventDefault. –

Смежные вопросы