使用焦点功能与jquery live

时间:2010-04-28 23:57:30

标签: jquery

我有一个页面,我可以使用live ...

成功使用jquery焦点功能
$(".comment_text_class").live('focus',
function() {
   //do something...
});

但当某些内容进入页面时(ajax加载)焦点功能无法正常工作

应该使用实时功能...

建议我使用focusin功能..

$(".comment_text_class").live('focusin',
function() {
   //do something...
});

但新元素仍然没有行为......

我也希望使用实时功能隐藏某些内容,但它根本不起作用..

即使是页面中的元素......

   $(".comment_button").live('hide', function(){});

是由jquery 1.4.2实现的焦点和隐藏功能,还是一个bug ...
因为实时焦点不适用于jquery 1.4版本......

这里的页面...... http://pradyut.dyndns.org/WebApplicationSecurity/newuser.jsp?id=2

抱歉..修好了......

请帮忙......

感谢

Pradyut
印度

2 个答案:

答案 0 :(得分:1)

.live()不像您认为的那样有效。它不会监视新元素并执行代码,而是等待或事件冒泡并在触发器元素与选择器匹配时对它们起作用。

.live('focus').live('blur')适用于jQuery 1.4.1+,但您可以使用1.4.0中的focusinfocusout事件。

对于hide,这不是一个事件。如果你在添加后立即隐藏所有评论,那么CSS似乎是一种更好的方法,如下所示:

.comment_button { display: none; }

或者,您可以像这样使用.livequery() plugin

$(".comment_button").livequery(function(){ $(this).hide(); });

答案 1 :(得分:0)

从jQuery 1.4.1开始,焦点事件与实时处理程序一起使用。 有关详细信息,请参阅http://api.jquery.com/live/