Reputation: 3854
I am dynamically creating the link on anchor tag through jquery, I want to trigger click event as soon as link gets attached to href
, but in my case click event didn't get triggered.
JQuery:
$("#refShare").click(function(e){
jQuery.ajax({
url: base_url+"create-refer",
cache : false,
dataType: 'json',
data: { email:email },
type:'post',
success:function(response){
jQuery('li#refShare a:first').attr("href", 'https://www.xyzLink.com/'+response.link);
jQuery('li#refShare a:first').attr("target", 'blank');
jQuery('li#refShare a:first').click();
});
});
HTML:
<ul>
<li id="refShare">
<a href="" id="share-facebook">
<i class="fa fa-facebook fa-2x" aria-hidden="true"></i>
</a>
</li>
<li>
....
</li>
.....
</ul>
Upvotes: 0
Views: 2605
Reputation: 29
You need to choose the right element which can be clickable and your goal to redirect to somewhere else automatically(where human intervention does not require) can be achieved by using 'trigger' function.
you can do :
$('#share-facebook').trigger('click');
For further details/documentation about jquery 'trigger' function, you can check this url: .trigger()
Upvotes: 0
Reputation: 544
Try this
jQuery(document).ready(function(){
setTimeout(function(){
alert("Hello");
jQuery('#Link_xyz').attr("href", 'https://github.com/gauravin213');
jQuery('#Link_xyz').attr("target", 'blank');
jQuery('#Link_xyz').click();
}, 3000);
jQuery(document).on('click', '#Link_xyz', function(){
var target = jQuery(this);
var url = target.attr('href'); alert("click: "+url);
//window.open(url, '_blank');
window.location.href = url;
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<a id="Link_xyz" href="">Link</a>
</div>
Upvotes: 0
Reputation: 57
Do you want an auto click or manual click?
If you want an auto => jQuery('li#refShare a:first').trigger( "click" ); Otherwise manually means assign one id to this href and make it click. jQuery('li#refShare a:first').attr("id", 'some_id');
outside Ajax
jQuery('#some_id').on('click','#some_id', function() {
//do it your stuff...
});
Upvotes: 0