以下代码中的第一个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>
答案 0 :(得分:0)
我以某种方式让它发挥作用。问题来源是聊天框代码的放置(它不在正确的文件中)。