Document
为什么我每点击button一次再blur时就会增加console.log一次??如果是click触发增加的,那应该在点击的时候就console.log出来了,为什么却还是累计到blur触发的时候一起打印,除了把blur事件写到click外面是否有其他解决办法?
楼上正解。你可以这样写:
(function($){ $("button").click(function(){ $("input").focus(); $("input").off('blur'); $("input").on('blur', function(){ console.log("aaa"); }); }) })(jQuery)
因为你每点一次就给input
绑了一次blur
事件,在click
的方法里把blur
每次都赋值就行了