Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将click()添加到动态生成的链接_Javascript_Jquery - Fatal编程技术网

Javascript 将click()添加到动态生成的链接

Javascript 将click()添加到动态生成的链接,javascript,jquery,Javascript,Jquery,我试图从动态生成的按钮调用函数。但是,单击链接时,click()函数不起作用。不知道为什么 if ( hasCap === 'image' ) { caption = $(this).data('caption'); link = '<a href="#" style="float: right; margin-top: -10px;" class="hidecaption">Hide Caption</a>'; return link + (capt

我试图从动态生成的按钮调用函数。但是,单击链接时,click()函数不起作用。不知道为什么

if ( hasCap === 'image' ) {
  caption = $(this).data('caption');
  link    = '<a href="#" style="float: right; margin-top: -10px;" class="hidecaption">Hide Caption</a>';

  return link + (caption ? caption + '<br />' : '') ;
}

  $( ".hidecaption" ).click(function() {
      alert( "target called" );
    });
if(hasCap=='image'){
caption=$(this.data('caption');
链接='';
返回链接+(标题?标题+“
”:“”; } $(“.hidecaption”)。单击(函数(){ 警报(“呼叫目标”); });
jQuery函数是否包含在以下函数中

$(document).ready(function{}); 

文档加载后将触发jQuery单击事件

你需要按照

$("EXISTING_DOM_ELEMENT_SELECTOR").on(
     "the_event", 
     "dinamic_element_selector", 
      function yourBehaviour(){
         //The code of your function goes here
      }
);
在你的情况下,你会

$(".existing-parent").on('click', '.hidecaption', myBehaviour)
function myBehaviour(){}
这大致可以转化为:对于类
.hidecation
位于
内部的任何元素,添加一个单击事件侦听器,该侦听器将执行函数
mybehavior()
。MyBehavior在另一个函数中被分离,只是为了可读性


.existingParent
类似于动态元素的achor。

您需要选择parent并为子元素添加click,如$(parent).on(click,child,function(){});事件不绑定到以友好方式创建的元素。您需要的是页面加载时DOM中存在的元素。该现有元素将作为事件绑定的“锚”。您选择使用的DOM元素必须是动态元素的父元素。有关更多信息,请查看