使用JavaScript显示和隐藏浏览器聊天框

Show and hide a browser chat box with JavaScript

本文关键字:浏览器 聊天 隐藏 JavaScript 显示 使用      更新时间:2023-09-26

我正在用Javascript制作一个浏览器聊天窗口。我想在你点击聊天栏时执行显示和隐藏聊天的功能,但在你点击.chat_txt.chat_new_input 时不执行该功能

有可能做到这一点吗?

//JavaScript Show/Hide Function
$('.hidden_box').live("click", function(){ showChat(this); });
$('.active_box').live("click", function(){ hideChat(this); });
$('.chat_txt').click(function(event) {
  event.preventDefault();
});

以下是DIV:的语法

<div id="chat_system_msg_lp" class="chat_box clickable_box hidden_box">
    <div id="chat_system_msg_nick" class="chat_name">system_msg</div>
    <ul id="chat_system_msg_txt" class="chat_txt">
        <li id="46">Hi visitor. We suggest you to sign in/sign up in order 
         to have all the benefits from Live-Pin </li>
    </ul>
    <form class="chat_new_message" name="new_msg">
       <input type="text" placeholder="Enter your message..." 
         class="chat_new_input">
    </form>
</div>

使用

$('body').on('click', '.hidden_box:not(.chat_box)', function() { showChat(this); });

如果你在jQuery 1.7+上。旧的jQuery:

$('body').delegate('.hidden_box:not(.chat_box)', 'click', function() { showChat(this); });

当然,另一个也是如此。

编辑—我本应该进一步解释的。.live() API不是一个好主意,因为在1.4左右,.delegate()函数绝对是首选。您仍然可以使用相同的选择器使用"live"来执行此操作,但除非您使用的是真正旧版本的jQuery,否则不要这样做。