Инициировать событие щелчка, чтобы динамически добавить ссылку на ссылку, используя jquery - PullRequest
0 голосов
/ 04 марта 2020

Я динамически создаю ссылку на тег привязки через jquery, я хочу вызвать событие щелчка, как только ссылка будет прикреплена к href, но в моем случае событие щелчка не сработало.

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>

Ответы [ 4 ]

1 голос
/ 04 марта 2020

Попробуйте Триггер

$("#refShare").trigger("click")

0 голосов
/ 04 марта 2020

Попробуйте это

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>
0 голосов
/ 04 марта 2020

Хотите автоматический или ручной щелчок?

Если вы хотите автоматический => jQuery ('li # refShare a: first'). Trigger ("click"); В противном случае вручную означает присвоить один идентификатор этому href и сделать его щелчком. jQuery ('li # refShare a: first'). Attr ("id", 'some_id');

снаружи Ajax

  jQuery('#some_id').on('click','#some_id', function() {
    //do it your stuff...
 });
0 голосов
/ 04 марта 2020

Вам нужно выбрать правильный элемент, на который можно нажимать, и ваша цель перенаправить в другое место автоматически (где вмешательство человека не требуется) может быть достигнута с помощью функции «триггер».

Вы можете сделать:

$('#share-facebook').trigger('click');

Для получения более подробной информации / документации о jquery функции 'триггера', вы можете проверить этот URL: .trigger ()

...