我只想设置代码,以便在我离开'焦点'时提醒一个警报,但是如果我点击输入字段并超出'焦点'不止一个警告,警报会不断堆积?
http://nano-visions.net/dump2/focus/
$(document).ready(function(){
$(function() {
$('#test-form-1 *[title]').inputHint();
});
$(".input-password").each(function(){
if($(this).length > 0)
{
/* create the password input next to the current input and hide the password input */
var val_name = $(this).attr('name');
$(this).after("<input name='"+val_name+"' type='password' value='' />");
$(this).next().hide();
/* on focus */
$(this).focus(function () {
/* hide the input and display the next input and put focus on it */
$(this).hide();
$(this).next().show().focus();
//alert($(this).parent().html());
//var keep_html = $(this).parent().html()
/* on blur */
$(this).next().blur(function(){
/* if the password input is empty */
if($(this).val() == '')
{
$(this).hide();
$(this).prev().show();
$('form *[title]').inputHint();
}
alert($(this).parent().html());
})
});
}
});
});
html
<form method="post" id="test-form-1">
<div><input value="" class="hint input-password" title="Password" name="password" type="text"></div>
</form>
我编码错了吗?我该如何解决?
谢谢!
答案 0 :(得分:1)
因为每次聚焦时你都会一次又一次地将下一个元素绑定到模糊事件。
而不是:
$(this).focus(function () {
// code
$(this).next().blur(function(){
//code
})
});
试试这个
$(this).focus(function () {
// code
}).next().blur(function(){
//code
});
我希望这有帮助!