无法让这个Javascript查询工作

时间:2013-08-16 18:07:10

标签: javascript jquery html css

以下代码中的第一个div会显示一个大学名称,点击该名称会触发函数display_people()。该功能用于显示/隐藏该大学的人员。这些人的姓名包含在div标记内,id="college_people"标记的初始display设置为none

现在,当点击一个人名时,它会触发函数display_chat_box(),该函数用于显示该人的聊天框。

当我们点击此人的姓名时,会出现聊天框,并且没有任何条款可以让聊天框消失。但是人名可以由函数display_people()隐藏或显示。显然,当隐藏人名时(点击大学名称,因此使用jQuery的toggle()隐藏人名),聊天框就会消失,这是我不想要的。

也许,这是因为点击人名时会出现聊天框。当该名称消失时,其onclick功能也会消失,因此会从聊天框中消失。我只是希望聊天框留在那里,而不是跟人名一起去。

我有什么方法可以做到这一点吗?

<div id='state_college_container' onclick='display_people()'>
  <span id='state_college_span'>
    College name
  </span>
</div>

<div id='college_people' style='display:none'>
  <div id='college_people_container' onclick='display_chat_box()'>
    <span id='college_people_span'>
      People name
    </span>
  </div>
</div>

function display_people() {
    $("#college_people").toggle();
}
function display_chat_box() {
    $(".chat_box").show();
}

聊天框位于类名chat_box下的完全独立的HTML文件中。它不是任何其他元素的后代。

这是聊天框的HTML代码。

 <div class="chat_box">
    <div id="chat_box_bar">
    <span id="chat_with">Your name</span>
    <span id="close_chat" onclick="close_chat_box()">X</span>
    </div>
    <div id="previous_chat1" >
       <span> Hi, how are you?</span>         
    </div>
     <div id="textarea_container">
    <textarea onkeypress="return detectEnter(event)" id="chat_content1"  name="posted_content1"></textarea>    
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

我以某种方式让它发挥作用。问题来源是聊天框代码的放置(它不在正确的文件中)。