on()与click事件无关

ver*_*ism 4 jquery

我在动态创建的div中有一个id为"close"的div,id为"box".以下代码用于在用户单击关闭时执行某些操作.

$('#box').on('click','#close',function(){
    alert(1); // Test to see if the click works
});
Run Code Online (Sandbox Code Playgroud)

我正在使用Big Cartel CMS,如果我在"实时预览模式"中单击关闭,它似乎工作正常,但每当我实际发布网站并正常查看它时,它绝对没有 - 没有错误 - nada.

标记和CSS,以防万一:

<div id="box"> <!-- Dynamically loaded -->
    <div id="close"></div>
    <h2 id="name"></h2>
    <div id="description">
        <p>blah...</p>
    </div>
</div>

#close{
    background: url(image-path);
    float: right;
    position: relative;
    top: 0;
    margin: 0 0 0 12px;
    width: 25px;
    height: 25px;
    cursor: pointer;
    z-index: 100;
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么?

Ror*_*san 7

问题是因为#box也是动态的.您需要主选择器作为加载页面时可用的元素.

主要候选者将是您要加载的元素#box.