有一段时间让我感到不安,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 }
编辑 2:好的,总是使用 $this->get_field_id('id-text') 来拥有一个唯一的 ID,否则 id 将在 wordpress 管理中由于小部件重复代码而重复。感谢Xec给我指路 :)