jquery,焦点中的回调函数()

时间:2013-03-01 12:48:52

标签: jquery callback focus

我在focus()中有一个回调函数,但只要我的元素有焦点,函数就会继续播放,这是一次只播放一次这个函数吗?

例如,在此代码中,警报('ok')将一直到textearea将失去焦点。它只是一次播放警报吗?

<textarea></textarea>

<script src="jquery.js"></script>
<script>

$(function () {

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

});
</script>

http://jsfiddle.net/manguo_manguo/9utcy/

2 个答案:

答案 0 :(得分:2)

不是功能一直在播放,而是你自动从控件中取出焦点以点击警告,然后焦点返回到控件,再次发射焦点事件,尝试用警报之外的其他任何东西进行测试。

答案 1 :(得分:1)

更新您的jQuery以使用one()函数。

以下是代码:

$(function () {

    $('textarea').one('focus', function(){
        alert('ok');
    }); 

});

这是你的小提琴:http://jsfiddle.net/9utcy/1/