Я хотів би запитати про тег 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-адреси). У сафарі в консолі я бачу попередження: [заблоковано] Сторінку на 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>