无法触发焦点功能

时间:2012-11-26 23:11:22

标签: jquery

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

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

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

所以,我试过了

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

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

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

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

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

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

的工作。

2 个答案:

答案 0 :(得分:1)

问题是$('#myInput').focus(...);只有在首次运行javascript时存在'#myInput'时才会添加此问题。

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

以下将执行此操作:

Javascript

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

<强> Demo

<强> Documentation

答案 1 :(得分:0)

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