我试图动态生成一个元素,并使用下面的代码将该元素绑定到click事件。一切正常但单击数据源时没有触发click事件。
function create_datasource_facet(facetcount){
console.log(JSON.stringify(facetcount))
$('#filters').append('<div id="datafacet"></div>')
$.each(facetcount,function(index,value){
console.log(value);
console.log(index);
$('#datafacet').append('<br>')
$('#datafacet').append('<div id="datasource">' + index + '[' + value + '] </div>')
//$('#datafacet').append('<br>')
})
$(document).on('click','#datssource',function(){ alert('datasource clicked')})
}
答案 0 :(得分:1)
您的ID值中有拼写错误:
$(document).on('click','#datssource',function(){ alert('datasource clicked')})
----------------------------^
答案 1 :(得分:1)
您在点击事件处理程序中错误拼写#datasource
。
要注意的一件事是,您可能会尝试使用ID&#39; #datasource&#39;附加多个元素。 ID应该是唯一的,因此您可能最好将其转换为类.datasource
。
答案 2 :(得分:0)
click
#datasource
上的活动而不是#datssource
function create_datasource_facet(facetcount){
console.log(JSON.stringify(facetcount))
$('#filters').append('<div id="datafacet"></div>')
$.each(facetcount,function(index,value){
console.log(value);
console.log(index);
$('#datafacet').append('<br>')
$('#datafacet').append('<div id="datasource">' + index + '[' + value + '] </div>')
//$('#datafacet').append('<br>')
})
$(document).on('click','#datasource',function(){ alert('datasource clicked')})
}
答案 3 :(得分:0)
在加载文档之前,请认为您的代码已加载。
试试吧
$('#datssource').on('click',function(){ alert('datasource clicked')})
}