delegate()绑定的事件如何指定删除某个对象的事件

啾啾我 2012-02-28 01:43:17
例如:
<div id="objDiv">
<p>p</p>
<p>pp</p>
<p>ppp</p>
<div>
<input type="button" value="删除第二个p的单击事件" />

js:
$("#objDiv").delegate("p","click",function(){
alert("您点击了p段落标记");
});
问题:如何单击按钮实现移除第二个p的单击事件,其他的不移除。

还有一个问题:
在js中我
for(var i=0;i<10;i++)
{
var cell2 = "<p class='imgCells' id='imgCells_"+ i +"'>p</p>";
$("#objDiv").before(cell2);
$("imgCells_"+i).bind("click",function(){
alert("您点击了第"+i+"个p段落标记");
});
}
这个执行后,不管我单击那个p,结果都是“您点击了第9个p段落标记”这个怎么解决呢?
...全文
222 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2012-02-28
  • 打赏
  • 举报
回复
bind("click",{'value':i},function(v)

$("imgCells_"+i).bind("click",{'value':i},function(v){
alert("您点击了第"+ v.data["value"] +"个p段落标记");
}
孟子E章 2012-02-28
  • 打赏
  • 举报
回复
你可以这样
$("#objDiv p").bind("click",function(){
alert("您点击了p段落标记");
});

<input type="button" value="删除第二个p的单击事件" onclick='$("#objDiv p:eq(1)").unbind("click");'/>

.undelegate() 应该可以这样
onclick='$("#objDiv").undelegate("p:eq(1)","click");'
但好像不好用
啾啾我 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 feng1366259807 的回复:]
$("imgCells_"+i).bind("click",function( 你得 id=imgcells_ 定义在哪里?
[/Quote]
不是很明白你的意思,绑定单击事件定义在for循环内了
啾啾我 2012-02-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
.undelegate()
[/Quote]

这个我已经尝试过了,如果用这个所有p的单击事件全部被移除了
孟子E章 2012-02-28
  • 打赏
  • 举报
回复
循环传变量的方法http://blog.csdn.net/pwg84/article/details/6738856
风2013 2012-02-28
  • 打赏
  • 举报
回复
$("imgCells_"+i).bind("click",function( 你得 id=imgcells_ 定义在哪里?
孟子E章 2012-02-28
  • 打赏
  • 举报
回复
.undelegate()
tan598121925 2012-02-28
  • 打赏
  • 举报
回复
没找到吧,循环完了弹出“您点击了第9个p段落标记

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧