📜  如何使用 jQuery 防止文本字段失去焦点?

📅  最后修改于: 2022-05-13 01:56:02.309000             🧑  作者: Mango

如何使用 jQuery 防止文本字段失去焦点?

在本文中,我们将学习如何使用 jQuery 防止文本字段或输入失去焦点。这可用于需要用户验证的情况。有两种方法可以采取:

方法 1:我们将使用 jQuery bind()、val()、preventDefault() 和 focus() 方法。 bind()方法用于将“ focusout ”事件附加到文本字段元素。然后创建一个辅助函数isValidString() ,它可以帮助我们验证文本字段中的用户输入。如果字符串是“ geeks ”,则该函数返回true ,否则返回false 。使用val()方法提取文本字段的值,并将其用作isValidString()函数中的参数。如果函数返回 false,那么我们使用preventDefault()来阻止“ focusout ”事件的默认操作,这意味着文本字段不会失去焦点。一旦文本字段中的输入是“geeks”,控制流就会超出“ if ”语句,并且恢复“ focusout ”事件的默认操作,这意味着文本字段可能会失去焦点。

示例:这里,如果文本字段中的输入不是单词“ geeks ”,即使我们在文本字段之外单击,文本字段也不会失去焦点。

HTML


  
    
  
    
    
  
  
    

GeeksForGeeks

    

How to prevent a textfield from         losing focus using jQuery

       

      Here, the textfield will only lose focus       when the word "geeks" is entered     

               


HTML


  
    
  
    
    
  
  
    

GeeksForGeeks

    

How to prevent a textfield from         losing focus using jQuery

       

      Here, the textfield will only lose        focus when the word "geeks" is entered     

               


输出:

方法 2:我们将使用 jQuery bind()val()preventDefault()focus()方法。这种方法与前一种方法类似,但不同之处在于附加到文本字段元素的事件是“ blur ”而不是“ focusout ”。 “ blur ”事件类似于“ focusout ”事件,但关键区别在于“ blur ”事件不会冒泡。因此,如果需要找出元素或其子元素是否失去焦点,则应使用“ focusout ”事件。

例子:

HTML



  
    
  
    
    
  
  
    

GeeksForGeeks

    

How to prevent a textfield from         losing focus using jQuery

       

      Here, the textfield will only lose        focus when the word "geeks" is entered     

               

输出: