在事件中更改jQuery&#39($)对象的值

时间:2014-01-10 03:36:32

标签: javascript jquery html css this

我想点击图片(img#first)并将其拆分为另一张图片的三个较小版本(img.cat)。每次单击img.cat时,它会以随机方向抛出克隆元素,并暂时显示狮子代替点击的img.cat

cat复制和lion popup都能正常工作(正如你可以通过点击左上角的小猫看到的那样),但我不知道如何在{{1}上创建一个.click()事件将调用该函数来复制较小的猫。重申一下,我希望img#first生成3个较小的img#first,然后消失,然后如果用户继续点击新的img.cat个对象,他们会继续产生更多的自己。问题只是让原始img.cat开始连锁反应然后永远消失。

这是Fiddle

如果我能够让整个img#first函数在.click(explode)上运行,然后在初始点击后以某种方式将该标识符交换到img#first,那么这不是?

例如:

img.cat

或者我是否需要隔离爆炸功能,以便可以在两个不同的对象上单独调用它,同时达到相同的效果?

老实说,我不知道如何完成这些任务。也许有一种更简单的方法可以得到我想要的东西。

2 个答案:

答案 0 :(得分:1)

$('img.cat').click()事件监听器的选择器更新为$('img.cat, img#first),以选择 img.catimg#first。使用此新事件侦听器,您可以删除第一个$('img#first').click()侦听器。请参阅我更新的JSFiddle

答案 1 :(得分:1)

添加一个单独的事件,该事件仅在点击#first时触发,该命令会以编程方式触发点击img.cat,然后将其自行删除:

$('#first').click(function() {
    $("img.cat").trigger("click");
    $(this).remove();
});

Here is a working jsFiddle