- 问题描述 :
因为我的源码是从ajax中加载的,用绑定事件只能用事件委托 。
这里贴出来的代码是demo。
我要实现的效果 是针对当前的p单击两次,off事件生效。
$(this).off('mouseleave click');//这行代码不起作用
$(document).off('mouseleave click','p');//这行却对于所有的都p都起作用,可是只想对当前p起作用怎么办啊 。
请大神帮忙看看。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
var x=0;
$(document).on('click' , 'p' , function(event){
$(this).animate({fontSize:"+=5px"});
x++;
if (x>=2)
{
alert(this);
$(this).off('mouseleave click');//这行代码不起作用
$(document).off('mouseleave click','p');//这行却对于所有的都p都起作用,可是只想对当前p起作用怎么办啊
}
});
$(document).on('mouseleave' , 'p' ,function(event){
alert("你离开了");
})
});
</script>
</head>
<body>
<p>1. 点击这个段落放大字体,只会放大两次。</p>
<p>2. 点击这个段落放大字体,只会放大两次。</p>
<p>3. 点击这个段落放大字体,只会放大两次。</p>
</body>
</html>
事件委托, 事件不是绑定在P上的, 是绑定在
document
上的, 所以要解除都解除了.试试这么做把