jquery 添加html元素后 html中click失效问题
jqeury 添加html 元素后 .click 失效问题
<script> function xxx() { var abc = '<li><h3 class="geegee">3</h3></li>'; var acc = '<li><h3 class="geegee">4</h3></li>'; output = $(abc + acc); $('#category').append(output); } </script> <script> $(document).ready(function() { $(".geegee").click(function() { //bug alert("a"); }); }); </script>
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)
$(".geegee").on("click",function() { alert("a"); });
委派事件
$("#category").delegate(".geegee","click",function(evt) { alert("a"); evt.stopPropagation(); });
方法二:追加节点后再调用一次事件方法
function menuItem() { $('.rightmenu').contextmenu({ target: '.context-menu', onItem: function (context, e) { //动态追加参数 var id = context.context.id; if ($(e.target).context.href.indexOf("/id/") == -1) { url = $(e.target).context.href; } $(e.target).attr("href", url + "/id/" + id); if ($(e.target).data('operate') == 'copy') { //todo 显示弹窗 $.get($(e.target).attr("href"), function (json) { //todo 插入页面位置 $(json.html).insertAfter("#talk_"+id); menuItem(); }); return; } } }); } menuItem();
相关推荐
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
84483065 2020-09-11
momode 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28
tthappyer 2020-07-25
TONIYH 2020-07-22
tztzyzyz 2020-07-20
83510998 2020-07-18
81463166 2020-07-17