Я хочу спросить о теге HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Как сделать это тег работает с HREF и OnClick ? (предпочитайте сначала запускать onClick, а затем href)
Я хочу спросить о теге HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Как сделать это тег работает с HREF и OnClick ? (предпочитайте сначала запускать onClick, а затем href)
Ответы:
У вас уже есть то, что вам нужно, с незначительным изменением синтаксиса:
<a href="www.mysite.com" onclick="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow the `href` property to follow through or not
}
</script>
Поведение <a>
тега onclick
и href
свойств по умолчанию - выполнить onclick
, а затем следовать за ним, href
пока onclick
не вернется false
, отмена события (или событие не было предотвращено)
href="#"
туда вместо настоящего URL.
Используйте jQuery . Вам нужно запечатлеть click
событие, а затем перейти на сайт.
$("#myHref").on('click', function() {
alert("inside onclick");
window.location = "http://www.google.com";
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" id="myHref">Click me</a>
href
атрибут.
Для этого используйте следующий html:
<a href="www.mysite.com" onclick="make(event)">Item</a>
<script>
function make(e) {
// ... your function code
// e.preventDefault(); // use this to NOT go to href site
}
</script>
Вот рабочий пример .
<a href="http://example.com" >Item</a>
и в Chrome я вижу какое-то сообщение, позволяющее странице запускать эту ссылку (предупреждение в конце строки URL-адреса Chrome). В сафари в консоли я вижу предупреждение: [заблокировано] На странице fiddle.jshell.net/_display не разрешено отображать небезопасный контент с example.com - так что, вероятно, это проблема безопасности (только на скрипке?)
Не требуется jQuery.
Некоторые говорят, что использование onclick
- плохая практика ...
В этом примере используется чистый javascript браузера. По умолчанию кажется, что обработчик кликов будет оценивать перед навигацией, поэтому вы можете отменить навигацию и сделать ее самостоятельно, если хотите.
<a id="myButton" href="http://google.com">Click me!</a>
<script>
window.addEventListener("load", () => {
document.querySelector("#myButton").addEventListener("click", e => {
alert("Clicked!");
// Can also cancel the event and manually navigate
// e.preventDefault();
// window.location = e.target.href;
});
});
</script>
Используйте ng-click
вместо onclick
. и это так просто:
<a href="www.mysite.com" ng-click="return theFunction();">Item</a>
<script type="text/javascript">
function theFunction () {
// return true or false, depending on whether you want to allow
// the`href` property to follow through or not
}
</script>