我的网站上有一个电子邮件表单,有四个字段。三个文本输入和一个文本区域。每个字段都有一个默认值属性,用作其标签。我希望这些值在其元素的焦点和焦点事件上自动取消设置/重置。
我有以下 JavaScript/jQuery 代码,它创建了这种行为。
$('input,textarea').data('default', "bleh");
$('input,textarea').focus(function() {
if($(this).val() === $(this).data('default')) {
$(this).val('');
}
});
$('input,textarea').focusout(function() {
if ($(this).val() === '')
{
$(this).val($(this).data('default'));
}
});
我的问题在于初始data('default')
属性的存储。我曾尝试使用.data('default', $(this).val())
... 但显然这是非法的并且$(this)
不被认可。
我试图找到一种干净的 jQuery 方法来迭代每个元素,但我似乎找不到。
有没有一种简单的方法,使用 jQuery,来实现我想要的?