Javascript .在a<;中单击();部门>;在a<;部门>;不起作用 $('A')。单击(函数(){ $('#A1')。前置('HelloX'); i++; }); $('.RmMe')。单击(函数(){ 警报(“正常”); });
知道为什么单击不起作用吗?您需要使用Javascript .在a<;中单击();部门>;在a<;部门>;不起作用 $('A')。单击(函数(){ $('#A1')。前置('HelloX'); i++; }); $('.RmMe')。单击(函数(){ 警报(“正常”); });,javascript,jquery,Javascript,Jquery,知道为什么单击不起作用吗?您需要使用.delegate()或.live(),因为您试图将处理程序绑定到尚不存在的元素 $('#A').click(function () { $('#A1').prepend('<div class="AcL" id=' + i + '>Hello<span class="RmMe" id="' + i + '" style="margin-left:20px; cursor:pointer;">X</span><
.delegate()
或.live()
,因为您试图将处理程序绑定到尚不存在的元素
$('#A').click(function () {
$('#A1').prepend('<div class="AcL" id=' + i + '>Hello<span class="RmMe" id="' + i + '" style="margin-left:20px; cursor:pointer;">X</span></div>');
i++;
});
$('.RmMe').click(function () {
alert("OK");
});
<div id="A1"></div>
祝你好运 您必须使用
$('.RmMe').on('click', function () {
alert("OK");
});
由于创建DOM时此元素不存在,因此将在创建DOM后插入此元素,并且无法将单击绑定到不存在的元素。live为您添加了一个事件侦听器,使您能够轻松完成所需任务。请尝试使用
.live()已弃用,但请小心操作。$。delegate()是实际的替代品。绝对不是
.live()
,而是.delegate()
,如果jQuery版本>=1.7,那么.on()
就是解决方案。@Tadeck-我注意到.live()
在另一个版本中被弃用了comment@BarryChapman:也许吧,但这应该是答案的一部分(否则答案本身就没有投票建议的那么有价值)。.on
在最新版本的jQuery中可用。您使用的是什么版本?是的,您将希望使用.live
,因为这是在1.3中提供的最新答案:)他需要使用$.live
,因为他在jQuery 1.3.2上,$。关于
在1.7版本中可用,您能告诉我们您使用的是什么版本的jQuery吗?
$('.RmMe').on('click', function () {
alert("OK");
});
$('.RmMe').on("click",function(){
alert("OK");
});
$('.RmMe').on('click', function () {
alert("OK");
});