无法在jQuery UI自动完成中绑定click事件

时间:2011-06-11 19:31:07

标签: jquery-ui-autocomplete jquery

我有一个默认禁用的按钮。从jQuery UI Autocomplete中选择一个项目后,我想启用该按钮。

我正在使用按钮上的警告来测试它是否有效:

jQuery('#btn').live('click', function() { alert('test'); });

首先我尝试了这个解决方案:

jQuery('.autocomplete_brand').live('autocompleteselect', function(event, ui){
      jQuery('#btn').removeClass('inactive').attr('disabled',''); 
});

这会启用按钮,但之后我被提醒说这不起作用,因为.live仅适用于click个事件。所以我把代码更改为:

jQuery('.ui-menu-item a').live('click', function() {
  jQuery('#btn').removeClass('inactive').attr('disabled','');
});

这几乎可行。 disable属性已消隐,但单击按钮时仍不会触发警报。

那我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的jQuery?以下内容:

  

这会启用按钮,但接着我   有人提醒说这不起作用,   因为.live只适用于点击   事件

对于> = 1.44是不正确的(对于版本甚至可能在此之前也是如此。编辑:我几乎肯定这将适用于> = 1.3,当{{1}时} 加入。)。

您可以完全按照live事件执行操作:

autocompleteselect

但是,如果您使用的是jQuery> = 1.6,则需要使用jQuery('.autocomplete_brand').live('autocompleteselect', function(event, ui){ jQuery('#btn').removeClass('inactive').attr('disabled',''); });

prop

这里正在使用jQuery 1.6:

http://jsfiddle.net/wGH32/