我有3个结构相同的元素

<div id="Chatbox1">
    <div class="chatboxhead">
        <div class="chatboxoptions">
            <a href="javascript:void(0)" class="ToggleChatBoxGrowth" title="Minimize chat box">-</a>
        </div>
    </div>
</div>


唯一的区别是它们每个都有一个不同的ID(Chatbox1,Chatbox2,Chatbox3)。

我尝试将'Click'事件绑定到每个.ToggleChatBoxGrowth类:

$('#chatbox_' + id + ' > .chatboxhead > .chatboxoptions > .ToggleChatBoxGrowth').click(function ()
    {
        ChatBox.ToggleChatBoxGrowth(id);
    });


但问题在于它们全部受同一click事件的约束。
因此,当我单击ChatBox1时,我会收到id = ChatBox3的点击事件

你能帮我吗?

最佳答案

我将使用类选择器将click事件绑定到ToggleChatBoxGrowth,然后遍历DOM来接收父ID。

$(".ToggleChatBoxGrowth").click(function(){
   var parentId = $(this).parents(".chatboxhead").parent().attr("id");
   ChatBox.ToggleChatBoxGrowth(parentId);
});

示例:http://jsfiddle.net/6C2aQ/

09-28 00:56