我有一个包含几个表单字段的页面。当我在一个字段内单击时,我需要触发一个功能。所以我试过了:
$('#myInput').focus(function() {
alert('fired');
});
然而它没有用。我认为这是由于在初始页面加载后动态添加到页面的方式。我已经尝试将此函数附加到其他字段,它们工作得很好。
所以,我试过了
$(document).delegate('#myInput', 'click', function() {
和
$('#myInput').live('focus', function() {
仍然没有运气。有什么建议?感谢。
更新--------------------
仍然不知道为什么,但将其改为
$('input[name="myInput"]').focus(function() {
的工作。
答案 0 :(得分:1)
问题是$('#myInput').focus(...);
只有在首次运行javascript时存在'#myInput'
时才会添加此问题。
如果您在javascript加载后动态添加'#myInput'
,那么您需要javascript动态添加侦听器。
以下将执行此操作:
Javascript
$('body').on('focus', '#myInput', function() {
alert('fired');
});
<强> Demo 强>
<强> Documentation 强>
答案 1 :(得分:0)
尝试使用focusin。也许会奏效。