2016-07-09 2 views
0

Я использую JQuery и JQuery мобильного телефон, и я всегда склонялся к делать интерактивное событие с кнопкой/с биркамиДолжен ли я использовать тег <a>? Могу ли я просто использовать .click()?

<button id='id'>my button</button> 
<a href='#' id='id2'>my anchor</a> 

я прочитал где-то, что это было ранее рекомендованный стандарт, но это предел, так как устарел ,

Мое понимание заключается в следующем не только приемлемым, но не нарушает стандарты

<h1 id="id">abcdef</h1> 

<script> 
$("#id").click(myFunction); 
</script> 

я прав? Является ли приемлемым для меня просто применить события кликов к любому тегу, который я хочу? (Я ожидаю/требую, чтобы мои клиенты были менее 3 лет)

+1

Да, вы можете прикрепить событие click к другим тегам, а не только к _button/a_ tags ... –

+1

Что отвечает тогда =) Спасибо! –

+0

Да, вы можете применить события кликов к любому элементу, который вы хотите. (Если это то, что вы хотите знать) – Ayan

ответ

3

Хотя вы можете прикреплять обработчик события кликов к большинству элементов, я бы посоветовал вам прикреплять их к a или button или любым другим элемент, который пользователь ожидает, чтобы щелкнуть, т.е. а не table, или strong.

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

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

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

+2

* «Я бы посоветовал вам прикреплять их к элементам и кнопкам». * - Я не согласен, несколько других элементов, которые хорошо используют событие click. –

+1

Хорошо, плохая формулировка с моей стороны - я не имел в виду это как исчерпывающий список. Я хочу сказать, не помещайте обработчики кликов на такие вещи, как 'p' или' hr'. Оберните их элементом, который по умолчанию можно щелкнуть, а затем обработать событие самостоятельно через JS. –

+0

Мой тег H1 был всего лишь примером - я вполне мог бы выбрать таблицу, img, span, div или что-нибудь еще. Я знал, что могу *, но не был уверен, что я * должен избегать этого. –

0

Пока это работает, я бы сказал, продолжайте и делайте это. Просто будьте последовательны.

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

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