Javascript 在我失去焦点后,如何启动onkeyup事件?
我已经创建了一个onkeyup事件,一旦我在任何地方单击另一个文本框,然后再次单击触发onkeyup的文本框,它就不会触发它。Javascript 在我失去焦点后,如何启动onkeyup事件?,javascript,html,asp.net,Javascript,Html,Asp.net,我已经创建了一个onkeyup事件,一旦我在任何地方单击另一个文本框,然后再次单击触发onkeyup的文本框,它就不会触发它。 不过,当我第一次单击文本框时,它确实起作用了。 我的代码: HTML: Javascript: var usernamechckertimer; var spanAvailability=$get(“spanAvailability”); 函数检查用户名用法(用户名){ clearTimeout(usernameCheckerTimer); 如果(
不过,当我第一次单击文本框时,它确实起作用了。
我的代码:
HTML:
Javascript:
var usernamechckertimer;
var spanAvailability=$get(“spanAvailability”);
函数检查用户名用法(用户名){
clearTimeout(usernameCheckerTimer);
如果(username.length==0)
spanAvailability.innerHTML=“”;
否则{
spanAvailability.innerHTML=“正在检查…”;
usernameCheckerTimer=setTimeout(“checkUsernameUsage(““+username+”);”,750);
}
}
函数检查用户名用法(用户名){
//启动ajax pagemethod调用
//完成后,将执行onsucced回调
PageMethods.IsUserAvailable(用户名,OnSucceeded);
}
//成功完成page方法时调用的回调函数。
函数OnSucceeded(结果、用户上下文、方法名){
if(methodName==“IsUserAvailable”){
如果(结果==真)
spanAvailability.innerHTML=“不可用”;
其他的
spanAvailability.innerHTML=“可用”;
}
}
有什么建议吗?删除有效的
AutoPostBack=“true”
。顺便说一下,我还有一个问题。它实际上间歇性地工作。它可能在我刷新页面时工作一次,也可能不会,有点随机。知道为什么吗?
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<span id="spanAvailability"></span>
<br />
<asp:TextBox ID="email" runat="server" AutoPostBack="true" onkeyup="checkUsernameUsage(this.value)" style="font-size: 20px; text-align:center; border-radius: 20px;" class="RegisterButton" ValidationGroup="registergroup" placeholder="What's your Email?"></asp:TextBox>
<br />
<asp:Label ID="Label2" runat="server"></asp:Label>
<br />
</ContentTemplate>
</asp:UpdatePanel>
<script type="text/javascript">
var usernameCheckerTimer;
var spanAvailability = $get("spanAvailability");
function checkUsernameUsage(username) {
clearTimeout(usernameCheckerTimer);
if (username.length == 0)
spanAvailability.innerHTML = "";
else {
spanAvailability.innerHTML = "<span style='color: #ccc;'>checking...</span>";
usernameCheckerTimer = setTimeout("checkUsernameUsage('" + username + "');", 750);
}
}
function checkUsernameUsage(username) {
// initiate the ajax pagemethod call
// upon completion, the OnSucceded callback will be executed
PageMethods.IsUserAvailable(username, OnSucceeded);
}
// Callback function invoked on successful completion of the page method.
function OnSucceeded(result, userContext, methodName) {
if (methodName == "IsUserAvailable") {
if (result == true)
spanAvailability.innerHTML = "<span style='color: Red;'>Unavailable</span>";
else
spanAvailability.innerHTML = "<span style='color: DarkGreen;'>Available</span>";
}
}
</script>