removeAttr ("href") на привязке также убрал цвет текста - PullRequest
1 голос
/ 04 апреля 2011

У меня есть веб-сайт, который использует JQuery и JQuery UI.

Для некоторых ссылок я не хотел использовать цвета темы JQuery UI, поэтому я переопределил, используя свой собственный css.

Все это работало, пока я не использовал $("#a_about").removeAttr("href") для удаления href с якорей (чтобы ссылка не работала на самом деле, я просто хочу захватить действие щелчка), к моему удивлению, он также убрал цвет, который применял мой cssи вернулся к цвету, который JQuery UI Theme применял ранее.

Я пытался изменить элемент, к которому применяется цвет (сам якорь, родительский контейнер и т. Д.), Но ничего не помогло.Спасибо ...

Ответы [ 4 ]

3 голосов
/ 04 апреля 2011

Это потому, что в некоторых браузерах якорь a без атрибута href рассматривается как обычный текст.Поэтому попробуйте изменить href на javascript:; вместо того, чтобы удалить его.

3 голосов
/ 04 апреля 2011

Вместо:

$("#a_about").removeAttr("href")

Использование:

$("#a_about").attr("href","javascript:;")
2 голосов
/ 04 апреля 2011

Якорь без href на самом деле не является ссылкой.Как говорили другие, установите его на что-то вроде # и чтобы «отменить» клик, также есть:

$("#a_about").attr("href", "#").click(function() { return false; });
1 голос
/ 04 апреля 2011

Не трогай href. Запретить действие по умолчанию в обработчике событий.

Таким образом, ссылка будет продолжать работать, если люди, например, щелкнут по ней средней кнопкой мыши.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...