jQuery .delegate()和.undelegate()

时间:2011-12-26 13:33:04

标签: jquery ckeditor

我有这段代码:

$('#body').delegate('a', 'click', someFunc);

我使用CKEditor:

$('#cm-comment').ckeditor();

问题是当我从CKEditor中单击一个标签时,不能调用someFunc。所以我试过这个:

$('#cke_cm-comment').undelegate('a', 'click');

(id是不同的,因为CKEditor创建自己的span元素)但是someFunc仍然被调用。我该如何防止这种行为?

1 个答案:

答案 0 :(得分:2)

为&#34; cm-comment&#34;添加处理程序截取<a>点击并停止传播的元素:

$('#cm-comment').delegate('a', 'click', function(e) { e.stopPropagation(); });

这会阻止事件冒泡到<body>(假设您的<body>是ID为&#34; body&#34;)的元素。