繁体   English   中英

自动点击以动态添加链接

[英]Auto click to dynamically added link

我想自动单击到动态添加的链接。 这是我的剧本

document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");

$('#tikla').click();

但是它不起作用,因为该链接是动态添加的对象。 正确的做法是什么?

你想做什么? 看来您只想前往href位置?

如果是这样的话,你可以去

window.location.href = 'http://www.example.org';

您需要先添加点击处理程序,然后才能触发点击事件

现场演示

document.write("<a id='tikla' href='http://www.example.org'>tikla</a>");

$('#tikla').click(function(){
     alert("clicked");
});

$('#tikla').click();

对于绑定动态添加的元素的事件,jQuery使用jQuery on()提供事件委托

委托活动

委派事件的优势在于,它们可以处理来自后代元素的事件,这些事件在以后的时间添加到文档中。 通过选择保证在附加委托事件处理程序时会出现的元素,您可以使用委托事件来避免频繁附加和删除事件处理程序的需要。

$( "#staticparent" ).on( "click", "#tikla", function() {
  alert("clicked");
});

采用

$('#tikla').get(0).click();

因为,您需要模拟dom元素的单击。

$('#tikla').click(); 将触发绑定到该锚元素的jquery click事件。 在您的情况下,锚元素没有任何绑定。

小提琴

您也可以这样尝试...

 document.write("<a id='tikla' href='http://www.example.org'>tikla</a>"); window.location.href = $('#tikla').attr('href'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

尝试这个,

$("<a id='tikla' href='http://www.example.org'>tikla</a>")
    .appendTo('body') // appendto body
    .get(0).click(); // triggering click to itself

 $("<a id='tikla' href='http://www.example.org'>tikla</a>") .appendTo('body') .get(0).click(); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

var myLink = document.getElementById('tikla');
myLink.click();

谢谢大家,但没有人在Internet Explorer中工作。 我发现此简单的javascript在所有浏览器中均可使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM