0

自动对焦后是否可以触发功能?我试过了,但是当我的 textarea 获得自动对焦时,我需要点击离开,然后再次点击我的 textarea 以触发该功能

我的代码是:

$('#test').focus();
$('#test').focus(function() {
  alert('ok');
});
4

3 回答 3

3

尝试交换代码。第一次调用时,您的事件未附加到测试元素focus()

$('#test').focus(function() {
  alert('ok');
});
$('#test').focus();
于 2013-02-21T15:24:34.950 回答
1

这是因为您在设置焦点后设置触发器。

重新排列您的代码,这将正常工作。

于 2013-02-21T15:24:46.653 回答
0

.focus() 方法根据传递的参数有两种不同的含义。

在你的第一个声明中。

$('#test').focus();

这是将焦点设置到具有 ID 测试的元素。

你的第二个陈述虽然

$('#test').focus(function() {
   alert('ok');
});

这里发生的是 jQuery 将事件处理程序附加到元素的焦点事件。我建议在加载 DOM 时添加事件处理程序,然后在需要时调用 .focus() 事件(这将触发警报)。

$(function(){
   $('#test').focus(function() {
       alert('ok');
   });
});
于 2013-02-21T15:28:46.343 回答