有onFocus做几件事

时间:2011-03-16 08:00:18

标签: javascript html

所以我有这个输入标签<input ... onFocus=...>,如果有人点击在输入字段中写入,我想要的是一个警告弹出窗口。在该人阅读警告后,他/她关闭弹出窗口并可继续在该字段中写入。我设法实现弹出窗口很好,但我的问题是当弹出窗口出现时我失去了对输入字段的关注,所以下次我点击该字段时弹出窗口再次返回并且我回到正方形。

我工作的系统使用php和javascript,所以我不能使用除此之外的任何东西来解决问题,我对php和javascript的体验都是有限的。

3 个答案:

答案 0 :(得分:2)

只需使onfocus运行一个函数,通过变量检查是否已显示警报。我假设您不希望每个页面视图多次显示警报,所以这样的事情会起作用:

<script type="text/javascript">
var focusShown = false;

function showFocusAlert ()
{
    if (!focusShown)
    {
        alert("You are about to focus!");
        focusShown = true;
    }
}
</script>

然后在输入中使用类似的东西:

<input type="text" onfocus="showFocusAlert()" />

答案 1 :(得分:0)

当您关闭警告时,您可以再次将焦点放在输入上。

查看演示http://jsbin.com/ifice4/

答案 2 :(得分:0)

使用one()函数jQuery非常容易:

$('#foo').one('focus', function() {
  alert('This will be displayed only once.');
});

使用jQuery或javascript框架的优势在于它使您可以轻松编写不引人注目的JavaScript。