1

我正在尝试focusin event使用 jquery 1.5.2 在未来元素上附加 a 。澄清一下,使用 jQuery 1.7.2 也曾尝试过同样的问题。

该事件没有像我预期的那样触发。然而,类似的点击事件可以正常使用.live

我在这里整理了一个示例,供您查看我的代码。希望这不是一个简单的问题(尽管它似乎总是如此!)。

链接到 jsfiddle

这是我要附加的焦点事件

$(".active").live("focusin", function() {
    $(this).text("focusin using live");
});

我相信我已经找到了一些相关的问题,但我无法使用它们修复我的代码。我更喜欢“这是您的代码更正答案”的解释。

如果您认为我需要为我的问题添加更多信息,请发表评论。

有关的

jQuery focusin 和 focusout 实时事件没有触发

为什么不调用“focusin”事件处理程序?

4

1 回答 1

1

如果您希望focusin事件触发,则需要关注元素。您在类中应用 DOM 元素这一.active事实并不意味着您正在关注它。

$('.active').live('focusin', function() {
    $(this).text('focusin using live');
});

$('.active').focus();
​

这是一个演示

您会注意到的另一件事是.live()支持focusin从 jQuery 1.7.1 开始的事件。显然,在这个版本的 jQuery 中,.live()已弃用,您应该使用.on()

$(document).on('focusin', '.active', function() {
    $(this).text('focusin using on');
});

$('.active').focus();

​</p>

于 2012-07-08T10:52:06.623 回答