How can I stop an anchor tag redirecting to another page if the user is not logged in? I have a function to check if the user is logged in or not. I want to do it with JQuery or JavaScript. Here is what I have tried so far but with no results:
<a href="www.somewhere.com" id="yes">Read More</a>
<script type="text/javascript">
$(document).ready(function(){
$('a').click(function(){
var id = $(this).attr('id');
if(id == 'yes'){
//i want to prevent
}else{
//redirect
}
});
});
</script>
Please use http://api.jquery.com/event.preventDefault/
demo http://jsfiddle.net/aRBY4/6/
e.preventDefault()
quote
If this method is called, the default action of the event will not be triggered.
Also if I may suggest read this: .prop() vs.attr()
Hope this helps,
sample code
$('a').click(function(event){
event.preventDefault();
//do whatever
});
In your case please try this
$(document).ready(function() {
$('a').click(function(event) {
var id = $(this).attr('id');
if (id == 'yes') {
event.preventDefault();
//i want to prevent
} else {
//redirect
}
});
});
Change your click event handler to this
$('a').click(function(e){
var id = $(this).attr('id');
if (id == 'yes')
{
e.preventDefault();
e.stopPropagation();
}
else
{
//redirect
}
});
try this one
$("a").on("click",function(e){
e.preventDefault();
alert("Clicked");
});
happy Coding;
Use event.preventDefault() . It is used to prevent the default action of the event.
<script type="text/javascript">
$(document).ready(function(){
$('a').click(function(){
var id = $(this).attr('id');
if(id == 'yes'){
event.preventDefault()
}else{
//redirect
}
});
});
</script>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.