як встановити стиль курсору на вказівник на посилання без hrefs


135

У мене дуже багато <a>тегів html без hrefатрибуту для здійснення onclickдзвінків javascript. Ці посилання не мають стилю вказівника курсору. У них курсор стилю тексту.

Як я можу встановити стиль курсору на вказівник на посилання без використання hrefатрибута?

Я знаю, що можу додати href = "#". У мене це є в багатьох місцях у html-документі, і я хотів би знати, як зробити вказівник стилю курсору для посилань без використання hrefатрибуту.


До речі, коли ви говорите посилання, ви маєте на увазі "<a id="do_some_javascript"> тест </a>"? Або це просто тег span або div, який робить якийсь javascript?
Алксандр

Відповіді:


211

у свій файл css додайте це….

a:hover {
 cursor:pointer;
}

якщо у вас немає файлу css, додайте це до HEAD вашої HTML-сторінки

<style type="text/css">
 a:hover {
  cursor:pointer;
 }
</style>

також ви можете використовувати атрибут href = "", повертаючи false в кінці вашого JavaScript.

<a href="" onclick="doSomething(); return false;">a link</a>

це добре з багатьох причин. SEO або якщо у людей немає JavaScript, href = "" буде працювати. напр

<a href="nojavascriptpage.html" onclick="doSomething(); return false;">a link</a>

@ see http://www.alistapart.com/articles/behavioralseparation

Редагувати: Варто зазначити, що відповідь @ BalusC там, де він зазначає :hover, не є необхідною у випадку використання ОП. Хоча інший стиль можна додати за допомогою :hoverселектора.


5
Використання: наведення курсора не потрібне, і працювати над посиланнями без href не гарантується.
Алксандр

я не уявляю, де це не працює. це хороший спосіб дізнатися, можливо, ви захочете додати інші форми поведінки, схожі на посилання з атрибутом href: зміна фону, підкреслення, колір тощо.
Росс

1
Минув деякий час, оскільки я використав це, але для <IE6, можливо, варто додати умовний коментар для посилання на стилі із зображеннямcursor: hand;
Девід каже, що відновити Моніку

Вам не потрібні умовні коментарі - просто виконайте .myStyle {cursor: hand; cursor: pointer;} - нові браузери будуть ігнорувати атрибут руки, оскільки вони все одно не розуміють цього. Також IE6 все ще зрозуміє вказівник - сторона призначена для ie5 і нижче.
easwee

Використання a само по собі може спричинити деякі проблеми. Особливо в IE, оскільки вони запускають OnBeforeUnload, навіть якщо ви додаєте false false; Навіть посилання на javascript: void (0); викликає виклик OnBeforeUnload. У мене був великий головний біль з цією проблемою на роботі ...
Олександр

16

Просто додайте це до свого глобального стилю CSS:

a { cursor: pointer; }

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


Не працює. Курсор змінено на, textа не pointerв Chrome.
ЖекаКозлов


6

Ось як змінити курсор зі стрілки на руку, коли наведіть курсор на дану object(myObject).

myObject.style.cursor = 'pointer';

1
По-перше, ласкаво просимо до SO, Лу! Опублікувавши / відповідаючи, будь ласка, будьте максимально інформативними і не забудьте відформатувати свої приклади коду (як я це зробив для вас).
Брайан

4

Дайте їм усім загальний клас (наприклад, посилання). Потім додайте в css-файл:

.link { cursor: pointer; }

Або як запропонував @mxmissle, зробіть це в рядку з style = "cursor: pointer;"


4

створіть клас із наступним CSS та додайте його до своїх тегів із подіями onclick:

cursor:pointer;

3

Використовуйте CSS, cursor: pointerякщо я правильно пам'ятаю.

У файлі CSS:

.link_cursor
{
    cursor: pointer;
}

Потім просто додайте наступний HTML до будь-яких елементів, для яких потрібно мати курсор посилання: class="link_cursor"(кращий метод.)

Або використовувати вбудований CSS:

<a style="cursor: pointer;">


0

Це працювало для мене:

<a onClick={this.openPopupbox} style={{cursor: 'pointer'}}>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.