单击事件不会触发thickbox中的元素

时间:2015-03-11 05:16:52

标签: jquery thickbox

在我的插件中,我使用厚盒模式窗口来显示项目列表。 thickbox div中的内容是通过ajax请求生成的。我在这个div中输入了复选框。不会触发这些复选框上的单击事件。

这是我的代码:

<div id="wpb_media_tracks_container">    //This div is loaded into the thickbox and contents of this table are dynamically generated through ajax request
    <table class="wp_media_tracks_table">   
         <thead>
            <tr>
                <th>Choose tracks</th>
                <th>Filename</th>
                <th>Title</th>
            </tr>
        </thead>
        <tbody>
            <tr valign="top">
                <td scope="row">
                   <input type="checkbox" name="1522" value="1522">
                </td>
                <td>raagrang.mp3</td>
                <td>raagrang</td>
             </tr>
         </tbody>
     </table>
 </div>

jQuery代码:

jQuery('.wp_media_tracks_table input').on("click", function() {

    postId = jQuery(this).val();
    alert(postId);
});

我也尝试过使用这个selectotr:jQuery('#wpb_media_tracks_container input')。但没有结果。

任何人都可以帮我在代码中找到问题吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

根据您尝试绑定jQuery事件处理程序的时间,它正在查找的元素可能不存在。

您可以使用以下内容替换click事件注册:

jQuery('#thickboxid').on('click', '.wp_media_tracks_table input', function(e) {

其中thickboxid是非ajax加载的元素(即在运行ajax之前存在)。我不确定wpb_media_tracks_container div是否符合此标准。