-1

我有一个包含几个表单字段的页面。当我在一个字段内单击时,我需要触发一项功能。所以我尝试了:

$('#myInput').focus(function() {
    alert('fired');
});

然而它没有用。我认为这是由于在初始页面加载后动态添加到页面的方式。我已经尝试将此功能附加到其他字段,并且它们工作得很好。

所以,我试过了

$(document).delegate('#myInput', 'click', function() {

$('#myInput').live('focus', function() {

仍然没有运气。有什么建议么?谢谢。

更新 - - - - - - - - - -

仍然不知道为什么,但将其更改为

$('input[name="myInput"]').focus(function() {

工作。

4

2 回答 2

1

问题是只有在第一次运行 javascript$('#myInput').focus(...);时才添加它。'#myInput'

如果您'#myInput'在 javascript 加载后动态添加,那么您需要 javascript 动态添加侦听器。

以下将执行此操作:

Javascript

$('body').on('focus', '#myInput', function() {
    alert('fired');
});

演示

文档

于 2012-11-26T23:42:58.330 回答
0

尝试使用focusin。也许会奏效。

于 2012-11-26T23:13:40.883 回答