如何在j查询中的单个jsp中实现keydown和focusout?

时间:2014-12-04 06:53:56

标签: jquery keydown focusout

我希望在单个jsp中实现key down和focusout方法..以下要求我必须满足..

要求:

  1. (keyDown)>当用户在文本框中输入大于“四个聊天”(即产品名称)时,我在弹出窗口中打开,并且必须显示我在文本框中输入的相关产品名称。

  2. (焦点)>当用户输入确切的产品名称(可能是7个字符或8个字符)并进行聚焦时,我必须得到确切的产品名称..

  3. 所以我实现了这两件事,看下面的代码..

            $("productName").keydown(function()
            {
    
               //when productName.length >4 i have show the pop up and show the related productName in that code..
              //passing greater than 4 character to ajax and and retriving related products from ajax response.. and showing in the pop up
    
            }
    
           $("productName").focusout(fuction()
            {
               //when the user entering exact product name(it may be 7 character or 8 character) and make a focusout and have the pass the value to ajax and have retrieve exact productName details from the ajax response
            }
    

    面临的问题

    • 当我尝试输入确切的产品名称(可能是6或7个字符)时,正在调用键,因为它超过了四个字符..

    那么我怎么能过来这些东西呢?这两个要求一次可以满足吗?

    请帮我解决这个问题

1 个答案:

答案 0 :(得分:0)

使用keyup而不是keydown。只需在keydown函数中编写一个if check,如果产品名称匹配,则不执行该函数的其余部分,因此它只执行焦点函数。

var productname = "Indranil";
$("#productName").keyup(function (e) {

if ($(e.currentTarget).val().length >= 4 && $(e.currentTarget).val() != productname) {
    console.log("keydown called");
}
})
$("#productName").focusout(function (e) {
if ($(e.currentTarget).val() == productname) {
    console.log("focus out called");
}
})