jQuery - 创建链接元素并单击它

时间:2018-02-08 23:46:29

标签: javascript jquery

我正在尝试动态生成在Twitter上发布推文的链接,然后点击它就像这样...

$("body").prepend("<a id=\"twitter_link\" href='https://twitter.com/intent/tweet'></a>");

$( "#twitter_link" ).click(function() {
  console.log( "Handler for .click() called." );
});

这不起作用,我哪里错了?

3 个答案:

答案 0 :(得分:3)

您的代码完成了99%!

您的新a元素没有文字

重要

  

如果您需要在单击新链接时执行逻辑,则需要单击事件,否则,该事件是不必要的。

$("body").prepend("<a id=\"twitter_link\" href='https://twitter.com/intent/tweet'>Hello World</a>");

$( "#twitter_link" ).click(function(e) {
  e.preventDefault(); //This is just to show your logic is working!
  console.log( "Handler for .click() called." );  
  location.href = this.href; //This is to redirect to the specific page after any previous executed logic.
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

资源

答案 1 :(得分:1)

您还可以先尝试创建元素,添加事件侦听器,然后附加到正文

var $a = $("<a id=\"twitter_link\" href='#'>test</a>" );

$a.click(function(e) {
  e.preventDefault();
  console.log( "Handler for .click() called." );
});

$("body").prepend($a);

答案 2 :(得分:1)

如果你真的想自动点击链接,你必须在元素上调用npm install @ionic-native/network --save - 你绑定了一个点击处理程序。这是一个没有jQuery改编自我正在研究的项目的例子:

{{1}}

请注意您的devtools控制台,因为如果您尝试链接到其他域,则可能会收到此错误:

  

拒绝在一个框架中显示“https://www.google.ca/?gfe_rd=cr&dcr=0&ei=--R8WpqeLpTM8AeZoYbgAg”,因为它将“X-Frame-Options”设置为“sameorigin”。