Wordpress小部件jquery live()或on(),管理员端

Wordpress小部件jquery live()或on(),管理员端,wordpress,widget,Wordpress,Widget,jQuery API说,有件事让我很不安: As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. 当我尝试在我的小部件管理端(小部件类的form()操作)添加一些jquery内容时,我惊讶地发现无法使用on(),而是使用live()来完成这项工作 所以我的问题是:为什么我会误解,我会误解什么? 问候,当然,谢谢你的时间 ps我正在使用>=1.7版本 编辑: <?php

jQuery API说,有件事让我很不安:

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.
当我尝试在我的小部件管理端(小部件类的form()操作)添加一些jquery内容时,我惊讶地发现无法使用on(),而是使用live()来完成这项工作

所以我的问题是:为什么我会误解,我会误解什么?

问候,当然,谢谢你的时间

ps我正在使用>=1.7版本

编辑:

<?php
    class Test_Slider_Widget extends WP_Widget 
        { 
            public function form( $instance ) { 
                ?>
             <span id="test">Test</span>
             <script> 
             jQuery(document).ready(function($) {
                 /* $('#test').on('click', function { //doesn't work
                     alert('test'); 
                 }); */
                 $('#test').live('click', function { //work
                     alert('test');
                 });

             });
             </script>


 <?php }

试验
jQuery(文档).ready(函数($){
/*$('#test')。在('click',函数{//不起作用
警报(“测试”);
}); */
$('#test').live('click',function{//work
警报(“测试”);
});
});
不推荐使用的
.live()
方法绑定到
文档
,每次单击都会检查
#test
选择器是否匹配,然后再调用处理程序。如果希望在
.on()
中使用此行为,可以使用委托语法

查看更多详细信息

要快速修复问题,您可以使用以下内容模拟
.live()
代码:

$(document).on('click', '#test', function () {
    alert('test');
});
为了获得更高效的代码,您可以使用与静态祖先
#test
匹配的选择器替换
文档

希望这有帮助

编辑:

从您的“编辑2”中,我意识到您的问题是重复的ID,但我将把这个答案留给后代。

不推荐使用的
.live()
方法绑定到
文档
,每次单击都会检查
\test
选择器是否匹配,然后再调用处理程序。如果希望在
.on()
中使用此行为,可以使用委托语法

查看更多详细信息

要快速修复问题,您可以使用以下内容模拟
.live()
代码:

$(document).on('click', '#test', function () {
    alert('test');
});
为了获得更高效的代码,您可以使用与静态祖先
#test
匹配的选择器替换
文档

希望这有帮助

编辑:


从您的“编辑2”中,我意识到您的问题是重复的ID,但我将把这个答案留给子孙后代。

您能给我们看一下您的代码吗?您能给我们看一下您的代码吗?