HTML etiketi hakkında soru sormak istiyorum
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Bunu href ve onClick ile çalışan bir etiket nasıl yapabilirim ? (önce onClick sonra href çalıştırmayı tercih edin)
HTML etiketi hakkında soru sormak istiyorum
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Bunu href ve onClick ile çalışan bir etiket nasıl yapabilirim ? (önce onClick sonra href çalıştırmayı tercih edin)
Yanıtlar:
Küçük bir sözdizimi değişikliğiyle ihtiyacınız olan şeye zaten sahipsiniz:
<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>
Etiketin onclick
ve href
özelliklerin varsayılan davranışı, öğesini yürütmek onclick
, ardından geri dönmediği href
sürece takip etmek , etkinliği iptal etmektir (veya olay engellenmemişse)onclick
false
href="#"
Gerçek bir URL yerine oraya koyana kadar benim için çalışmıyor .
JQuery kullanın . click
Etkinliği kaydetmeniz ve ardından web sitesine gitmeniz gerekir .
$("#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
öznitelik ekleyin .
Bunu başarmak için aşağıdaki html'yi kullanın:
<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>
İşte çalışma örneği .
<a href="http://example.com" >Item</a>
ve Chrome'da sayfanın bu bağlantıyı çalıştırmasına izin veren bir mesaj görüyorum (krom url çubuğunun sonunda uyarı). Konsolda safaride bir uyarı görüyorum: [engellendi] fiddle.jshell.net/_display adresindeki sayfanın example.com'daki güvensiz içeriği görüntülemesine izin verilmedi - bu nedenle bu muhtemelen bir güvenlik sorunudur (yalnızca keman için mi?)
JQuery gerekmez.
Bazı insanlar kullanmanın onclick
kötü bir uygulama olduğunu söylüyor ...
Bu örnek, saf tarayıcı javascript kullanır. Varsayılan olarak, tıklama işleyicinin gezinmeden önce değerlendireceği görünür, böylece gezinmeyi iptal edebilir ve isterseniz kendinizinkini yapabilirsiniz.
<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>
Kullanım ng-click
yerine onclick
. ve bu kadar basit:
<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>