动态渲染元素没法直接写点击事件时用事件委托的方式:css
1,获取元素
2,监听元素事件
3,事件发生要执行的语句html
代码:app
html:
<div style="" id="hovertext"> </div>
js: $('页面上存在的元素#hovertext').on('事件方法好比click,blur等',"动态元素的class.datalist",function (e) {//事件委托 给元素添加动态样式:1.固定定位fixed,动态改变原有的位置2.绝对定位的话就是相对目标元素自身给top,left2个不重复 var m_clientX = $(this).offset().top; 获取自身的位置 $('#hovertext').css('top',m_clientX-30) 假设要取$('.datalist')里的id: var obj=$(this); console.log(obj.data('id')); }) 例子: function add(){ var rowanswerlists=""; for(var i = 0; i <data.length; i++) { rowanswerlists+="<p data-id='data[i].id' class="datalist"></p>"; } $("页面上的要插入信息的上一级元素#hovertext").append(rowanswerlists); }