如何在textarea的焦点上执行一次代码?

时间:2016-02-07 13:56:13

标签: javascript jquery html

我有一个像这样的teatarea:



$("textarea").on('focus', function(){
  alert("clicked");
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea col="3" row="20"></textarea>
&#13;
&#13;
&#13;

正如您在上面提到的那样,每当您专注于该textarea时,alert()就会执行。如何限制它只执行一次? (只是第一次)

2 个答案:

答案 0 :(得分:5)

您可以使用jQuery&#39; one()

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

每个事件类型的每个元素最多执行一次处理程序。

答案 1 :(得分:1)

如果您改变主意,想要在焦点上触发警报的次数,则可以使用计数器系统,只需更改if then语句值即可。

//initalize the counter
var count = 0;

//set the limit
var limit = 0;

//on focus event
$("textarea").on('focus', function(){

   //if the count equals the limit
   if(count === limit){

     //alert the message
     alert("clicked");

   }

//increment the count
count++;

});