gpt4 book ai didi

jQuery - 如果为空,则将输入值设置为模糊时的先前值

转载 作者:行者123 更新时间:2023-12-01 01:07:56 24 4
gpt4 key购买 nike

我花了几个小时来解决这个问题,但找不到任何帮助,所以放弃了。我只是想恢复输入框的先前值,如果用户将其清除并且在输入失去焦点时不留下任何内容。例如,如果我的输入框中显示“澳大利亚布里斯类”,并且用户从输入中删除该文本,然后按 Tab 键,我希望它将输入恢复为“澳大利亚布里斯类”。这是我的代码:

$('input#search-location').on("focus", function() {
$(this).data("previous-value", $(this).val());
});

$('input#search-location').on("blur", function() {
if ($(this).val() == "") {
// alert($(this).data("previous-value"));
$(this).val($(this).data("previous-value"));
}
});

两个事件都会触发,如果我取消注释模糊函数中的警报,它会正确显示以前的值。但我的输入框中没有显示任何内容,控制台中也没有错误。我想我错过了一些愚蠢的东西......我感谢任何帮助!

最佳答案

您的代码应该可以正常工作并在此处执行 Live Demo

请注意,您需要在页面元素呈现后执行代码,因此需要将代码包装在

$(function() { ... });

如果您想将其设置为页面加载时的默认值,请尝试

Live Demo

$('input#search-location').on("blur", function() {
if ($(this).val() == "") {
$(this).val(this.defaultValue);
}
});

较新的浏览器会在此处给出提示:

<input placeholder="Type your name" />

您可以帮助旧版浏览器支持它

$(function() {
if (!placeholderIsSupported) {
$('#search-location1')
.val($('#search-location1').attr("placeholder"))
.on("blur", function() {
if ($(this).val() == "") {
$(this).val($(this).attr("placeholder"));
}
})
.on("focus",function() {
if ($(this).val()==$(this).attr("placeholder")) $(this).val("");
});
}
});

function placeholderIsSupported() {
var test = document.createElement('input');
return ('placeholder' in test);
}

关于jQuery - 如果为空,则将输入值设置为模糊时的先前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com