关于动态加载的dom,change事件绑定无效的问题

JS中的无效事件如下

$("td").on("change","select.weekdays",function(){

    console.log("hello,world");

});

动态加载的dom如下

<div class="modal-body">

    <table class="table">

        <tbody>

        <tr>

            <td class="col-md-3">预约日期:</td>

            <td>

                <select name="weekdays" type="text" class="form-control weekdays">

                    <option value="0">今天 12-28</option>

                    <option value="1">明天 12-29</option>

                    <option value="2">后天 12-30</option>

                    <option value="3">周日 12-31</option>

                    <option value="4">周一 01-01</option>

                    <option value="5">周二 01-02</option>

                    <option value="6">周三 01-03</option>

                </select>

            </td>

        </tr>

    </tbody>

    </table>

</div>

控制台不能输出hello,world


把JS的写法改一下


$("div.modal-body").on("change","select.weekdays",function(){

    console.log("hello,world");

});

控制台可以输出hello,world


问:td和div.modal-body同样是select.weekdays的父元素,为何前者无效,后者有效?


SMILET
浏览 1362回答 2
2回答

紫衣仙女

你的代码不完整,不知道具体是怎么动态加载的,有可能你执行$("td").on("change","select.weekdays",function(){&nbsp; &nbsp; console.log("hello,world");});时,td元素都还不存在,所以实际上没有绑定上。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript