2013-07-18 2 views
0

Я использую теги области на одной из моих страниц вместе с jquery.maphighlight, чтобы иметь возможность выбирать части изображения, загорать их или загорать, когда пользователь нажимает на их. У меня много областей, в которых я использую это, около 20, и я использую атрибут href, чтобы выяснить, какой из них был нажат, и должен ли я включать или отключать его. Область выглядит примерно так:Нежелательный атрибут href redirect в IE8

<area data-maphilight='{"fillColor":"00cc00","shadow":false, "strokeColor":"000000", "alwaysOn":false}' shape="poly" href="20" coords="554,266,548,268,485,268,475,266,471,266,471,283,484,295,548,295,551,293,555,295,561,296,568,296,573,293,576,288,577,282,576,275,573,270,569,267,563,265" /> 

javascript рассматривает значение атрибута href и вычисляет, что делать. Все работает отлично, за исключением IE8. Проблема в том, что поскольку атрибут href существует, IE8 считает это ссылкой и перенаправляет меня снова на ту же страницу, просто добавляя значение href после него, в то время как другие браузеры просто запускают js-функции и больше ничего не делают. Поэтому мой вопрос заключается в том, как я могу остановить IE8 перенаправлять меня на другую страницу и просто оставаться на текущей, поскольку я вижу, что JavaScript работает нормально во втором, прежде чем страница исчезнет, ​​и я перенаправлен на следующий?

+1

либо хранят соответствующие данные где-то в другом месте, чем в атрибуте href, что и «правильный» способ сделать это, поскольку в основном это не href, который вы вставляете. ИЛИ вызов 'event.preventDefault' или' return false ; 'в обработчике кликов. – luk2302

+0

Здравствуйте, спасибо за ваш комментарий. В конце концов я использовал другой атрибут, чем href. Хотел сэкономить время и найти короткий отрезок, но я думаю, что правильное решение важнее! – mmvsbg

ответ

1

Только не используйте атрибут href. Используйте data-reference="20" или что-то в этом роде.

+0

Я думаю, это единственный правильный способ сделать это. Я искал короткое сокращение, но в конце я сделаю дополнительную работу. Спасибо! – mmvsbg

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