jquery 单击功能在 div 内部不起作用,在 div 外部起作用

jquery click function is not working inside the div, working on outside div

创建一个应用程序,点击事件和功能在 div 的内部元素上不起作用,在父 div 上正常工作 html 是

<div class="chat_wrapper">
   <span class="fa fa-minus minimize"></span>
        <div class="module" id="45-module" style="height: 316px;">
            <div class="top-bar">
                <div class="left">
                    <span class="icon typicons-message"></span>
                    <h1 class="username">rudra-chat</h1>
                </div>
                <div class="right">
                    <span class="fa fa-plus maximize" style="display:none"></span>
                </div>
            </div>
            <ol name="log" id="45-log" class="discussion"></ol>
            <div class="message" id="45-msg">
                <input type="text" name="message" id="message" onkeypress="sendmessage(this,event);">
            </div>
        </div>
    </div>

我正在为 onlick 尝试这个

$(document).ready(function(){
    $('.minimize').click(function() {
        alert('sadg');
        $('.module').animate({ height: '30px' }, 500);
        $('.minimize').hide();
        $('.maximize').show();  
    });

    $('.maximize').click(function() {
        $('.module').animate({ height: '316px' }, 500);
        $('.minimize').show();
        $('.maximize').hide();  
    });
});

css 代码为

.chat_wrapper {
    bottom: 0;
    position: fixed;
    right: 167px;
}
.module {
    float: left;
    margin-right: 2px;
    width: 300px;
}
.top-bar:before {
    animation: 1s ease 0s alternate none infinite running pulse;
    background: radial-gradient(#ffffff, #000000) repeat scroll 0 0 rgba(0, 0, 0, 0);
    bottom: -100%;
    content: "";
    left: 0;
    opacity: 0.25;
    position: absolute;
    right: 0;
    top: -100%;
}
.top-bar {
    background: none repeat scroll 0 0 #666;
    color: white;
    overflow: hidden;
    padding: 0.5rem;
    position: relative;
}

但它不工作 没有错误 我在 chat_wrapper 单击事件上尝试了相同的功能并且它工作正常

好的,我已经解决了。这背后的问题是 append() 。我附加了 div,因为这是一个聊天应用程序,我认为这种方式行不通,所以我创建了一个简单的 javascript 函数,像这样

function minimize(e)
{
   $(e).parents('.module').animate({
            height: '30px'
        }, 500);
        $(e).hide();
        $(e).next('.maximize').show();


}
function maximize(e)
{
   $(e).parents('.module').animate({
            height: '310px'
        }, 500);
        $(e).hide();
        $(e).prev('.minimize').show();


}

和html喜欢这样

<div class="chat_wrapper">
   <div class="module" id="45-module" style="height: 316px;">
            <div class="top-bar">
                <div class="left">
                    <span class="icon typicons-message"></span>
                    <h1 class="username">rudra-chat</h1>
                </div>
                <div class="right">
 <span onclick="minimize(this)" id="minimize" class="fa fa-minus minimize"></span>
                    <span onclick="maximize(this)" style="display:none" class="fa fa-plus maximize"></span>
                </div>
            </div>
            <ol name="log" id="45-log" class="discussion"></ol>
            <div class="message" id="45-msg">
                <input type="text" name="message" id="message" onkeypress="sendmessage(this,event);">
            </div>
        </div>
    </div>