【问题标题】:click event not firing on elements inside thickbox单击事件未在厚盒内的元素上触发
【发布时间】:2015-03-11 05:16:51
【问题描述】:

在我的插件中,我使用厚框模式窗口来显示项目列表。厚盒 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);
});

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

谁能帮我找出代码中的问题?

谢谢,

【问题讨论】:

    标签: jquery thickbox


    【解决方案1】:

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

    您可以将 click 事件注册替换为:

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

    thickboxid 是一个非 ajax 加载元素(即在 ajax 运行之前存在)。我不确定wpb_media_tracks_container div 是否符合此条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多