Javascript 将click()添加到动态生成的链接
我试图从动态生成的按钮调用函数。但是,单击链接时,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
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元素必须是动态元素的父元素。有关更多信息,请查看