синтаксис href в разрешении javascript

Мне было интересно, возможно ли внедрение javascript в тег href с некоторым текстом внутри. Теперь я знаю, что вы можете сделать это:

<a href="javascript:alert(1)">

Теперь, если значение href уже имеет какой-то текст, например:

<a href="Hello welcome to xxxx site">

В кавычках как можно будет внедрить javascript? Что-то вроде этого:

<a href="Hello welcome to xxxx site javascript:alert(2)">

Я знаю, что мог бы начать другую часть, например onmouseover="alert(1)", но мне интересно, возможно ли это сделать в тегах href в этом случае.


person Bob Sm    schedule 19.08.2013    source источник
comment
Соответствует ли что-то подобное вашим потребностям? Это лучший способ, поскольку он отделяет логику javascript от разметки: http://api.jquery.com/bind/   -  person user1161625    schedule 20.08.2013
comment
@user1161625 user1161625 Это лучшее.   -  person Bob Sm    schedule 20.08.2013
comment
Извините, я впервые разместил ссылку с такой мини-разметкой... мне потребовалось пару попыток ;)   -  person user1161625    schedule 20.08.2013
comment
@gibberish То, что он опубликовал, не имеет отношения к тому, что я спросил.   -  person Bob Sm    schedule 20.08.2013
comment
Ах. Ваш ответ на комментарий, казалось, говорил, что его ответ был лучшим для вас. Приносим извинения за недоразумение.   -  person cssyphus    schedule 20.08.2013
comment
Из любопытства, зачем вам текст без URL внутри тега href (или это просто пример)? Возможно, если вы дадите нам больше информации о том, что вы пытаетесь сделать, мы сможем улучшить наши ответы?   -  person cssyphus    schedule 20.08.2013
comment
@gibberish Мой ответ был направлен на вопрос, соответствует ли что-то подобное вашим потребностям? В любом случае, я не ищу обходных путей, мой вопрос был поставлен как есть, если бы можно было добиться того, что я просил, ответ был бы отрицательным.   -  person Bob Sm    schedule 20.08.2013
comment
Хорошо, спасибо, Боб. Пожалуйста, ответьте на свой вопрос и выберите его в качестве правильного ответа, когда система позволит вам это сделать.   -  person cssyphus    schedule 20.08.2013


Ответы (2)


Использовать:

<a href="javascript:alert('Hello welcome to xxxx site')">

Использование javascript: на самом деле является плохим тоном в HREF. Вы должны использовать нулевой якорь "#" и вместо этого использовать onclick.

Лучший способ:

<a href="#" data-text="Hello welcome to xxxx site">...</a>

...Затем с помощью JavaScript подключите обработчик событий и получите доступ к элементу данных HTML5.

person Diodeus - James MacFarlane    schedule 19.08.2013
comment
Нет, я спрашиваю, возможно ли в тех обстоятельствах, которые я предоставил, добавить javascript, исключив текст из части javascript. - person Bob Sm; 20.08.2013
comment
Нет, потому что, когда пользователь нажимает на это, браузер будет думать, что текст является URL-адресом, и не сможет. - person Diodeus - James MacFarlane; 20.08.2013

Это то, что вы ищете (улучшенный пример)?

<body>

    The a tag is below:<br />
    <a href="javascript:alert('Hello');window.location.href='http://google.com';alert('there');">Click here</a>

</body>
person cssyphus    schedule 19.08.2013
comment
Я имел в виду наличие некоторого текста перед javascript: часть внутри тегов href и возможность выполнения javascript. - person Bob Sm; 20.08.2013
comment
Вам нужно будет создать команду js для этой первой части, прежде чем добавлять js. Другими словами, преобразуйте свой первый бит в команду js и соедините их. - person cssyphus; 20.08.2013