JS代码为:
$("#user").focus(function(){
                $(this).css("background-color","#FFEC8B")
            });
            $("#user").blur(function(){
                $(this).css("background-color","#efefef")
            });

解决方案 »

  1.   

    你只是改变了输入框的值。输入框并没有获得焦点或失去焦点,当然不会触发这两个事件了。
    你可以在改变了输入框的值之后主动调用下$("#user").focus();或blur();方法。
      

  2.   

    代码没错,应该是元素类型问题?例如 input 元素就没问题,可能得是输入框类型
      

  3.   

    要么就是你忘了引进 jQuery.js 了?
      

  4.   

    #use和#pwd就是取了输入框的ID,在输入框内容不是自动填充而是手写的情况下是可以触发的
      

  5.   

    我用的是<input type="text">和<input type="password">
      

  6.   

    您说的是不是先判断值是否改变了,只要改变了就调用.focus和.blur事件是吗,我先试试哈,谢谢您回答
      

  7.   

    我觉得一楼是对的,如果是手写的话,那么必然会触发focus事件,因为手写你要要让光标进入输入框,而这就是一个focus事件,而自动填充输入框是不需要光标进去的,所以不会触发focus事件,然后blur事件和focus是相对的,首先得要有focus然后才会有blur,也就是必须先聚集焦点,然后才能谈失去焦点。
    一楼的意思是,当你做完$("inputId").value("content") 之后再加一个$("inputId").focus()
      

  8.   

    我觉得一楼是对的,如果是手写的话,那么必然会触发focus事件,因为手写你要要让光标进入输入框,而这就是一个focus事件,而自动填充输入框是不需要光标进去的,所以不会触发focus事件,然后blur事件和focus是相对的,首先得要有focus然后才会有blur,也就是必须先聚集焦点,然后才能谈失去焦点。
    一楼的意思是,当你做完$("inputId").value("content") 之后再加一个$("inputId").focus()好的~在输入框内容不为空的时候判读执行.focus()事件,这样可以的吧?不过我还有个小疑问,在标题可能没说清楚,我是在输入框自动填充内容后,再次点击该输入框,但是仍然没有触发.focus()事件,按理说不是点击输入框都会触发事件的么
      

  9.   

    你这个输入框是静态的还是动态append进去的?
      

  10.   

    静态的,写在body里的
      

  11.   

    可以尝试用trigger方法在元素加载后手动触发一下。