Saya ingin bertanya tentang tag HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Cara membuat ini sebuah tag bekerja dengan href dan onClick ? (lebih suka onClick dijalankan dulu, baru href)
Saya ingin bertanya tentang tag HTML
<a href="www.mysite.com" onClick="javascript.function();">Item</a>
Cara membuat ini sebuah tag bekerja dengan href dan onClick ? (lebih suka onClick dijalankan dulu, baru href)
Jawaban:
Anda sudah memiliki apa yang Anda butuhkan, dengan sedikit perubahan sintaks:
<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>
Perilaku default dari <a>
tag onclick
dan href
properti adalah mengeksekusi onclick
, lalu mengikuti href
selama onclick
tidak kembali false
, membatalkan acara (atau peristiwa belum dicegah)
href="#"
sana alih-alih URL asli.
Gunakan jQuery . Anda perlu menangkap click
acara tersebut dan kemudian pergi ke situs web.
$("#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
atribut yang berarti .
Untuk mencapai ini gunakan html berikut:
<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>
Berikut adalah contoh kerja .
<a href="http://example.com" >Item</a>
dan di Chrome saya melihat beberapa pesan untuk mengizinkan halaman menjalankan tautan ini (peringatan di akhir bilah url chrome). Di safari di konsol saya melihat peringatan: [diblokir] Halaman di fiddle.jshell.net/_display tidak diizinkan untuk menampilkan konten tidak aman dari example.com - jadi mungkin ini adalah masalah keamanan (hanya pada biola?)
Tidak perlu jQuery.
Beberapa orang mengatakan bahwa menggunakan onclick
adalah praktik yang buruk ...
Contoh ini menggunakan javascript browser murni. Secara default, penangan klik akan mengevaluasi sebelum navigasi, sehingga Anda dapat membatalkan navigasi dan melakukan sendiri jika Anda mau.
<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>
Gunakan ng-click
di tempat onclick
. dan sesederhana itu:
<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>