有人可以解释本节链接的逻辑
$("#name").unbind("focus").focus(function(){
$("#name").unbind("blur").blur(function(){
以下代码?我无法访问HTML
,但here是呈现的网页。此外,是否可以在解除绑定的同时首次声明事件处理程序?
$(document).ready(function(){
$("#name").unbind("focus").focus(function(){
$("#name").unbind("blur").blur(function(){
var name = $("input[name='name']").val().toString();
console.log(name);
if(name === ""){
$("#nameError").css("display", "block");
}
$("#name").focus(function(){
$("#nameError").css("display", "none");
});
});
});
...
});
答案 0 :(得分:2)
正在使用它,因此任何以前的附加事件处理程序都将被取消附加。
这通常与您使用外部库和插件一起使用,并且您希望确保禁用不需要的功能。
最简单的方法就是知道为什么这样做是为了问这个写这个的人。
答案 1 :(得分:2)
这样可以多次运行绑定而不必担心重复
答案 2 :(得分:1)
我认为此代码已被破坏。
带有.unbind('focus').focus()
链的外部处理程序可以确保没有注册其他focus
处理程序。它还确保在第一次元素悬停之前,甚至没有注册blur
处理程序,并且为了额外的安全而抛出.unbind
。
然而,在该处理程序内,每次元素看到.focus
事件时,内部.blur
处理程序将重新注册而不安全网。< / em>最终结果将是在该元素上注册的许多重复处理程序。