JQuery“on”处理程序不会在新插入的小部件上触发

时间:2013-02-26 作者:N2Mystic

我在小部件上附加了一个jQuery脚本。通过add\\u操作(\'admin\\u footer\')调用访问php页面。

jQuery在加载页面时已就位的小部件项上执行良好。但是,在新安装的小部件(页面加载后添加到侧栏的小部件)上,处理程序不会启动。

有没有办法解决这个问题?

if ($pagenow == \'widgets.php\'){
    add_action(\'admin_footer\', \'my_load_widgets_script\');
    function my_load_widgets_script()
    {
    wp_enqueue_script(\'jquery\');
    ?>
    <script>
    jQuery(document).ready(function()
    {
        jQuery(\'.toggleExtras\').on(\'click\', function(e){
            jQuery(\'.extras\').toggle();
            jQuery(this).text(function(el, old){
                return old == "Show Advanced Options" ? "Hide Advanced Options" : "Show Advanced Options";
            });
        });

    });
    </script>
    <?php
    }
}
HTML

<span class="toggleExtras">Show Advanced Options</span>

1 个回复
最合适的回答,由SO网友:RRikesh 整理而成

这里没有话题,但为了解决您的问题:

对于委派的事件on 零件应为

jQuery(document).on(\'click\',\'.toggleExtras\', function(e){

结束