在按下标签按钮时删除占位符

Posted

技术标签:

【中文标题】在按下标签按钮时删除占位符【英文标题】:Remove placeholder on pressing tab button 【发布时间】:2014-07-16 00:32:02 【问题描述】:

我有一个带有占位符的文本区域。为了在 Internet Explorer 中工作,我包含了 placeholder.js。我面临的问题是当我反复按下tab key 时,焦点来到文本区域时,占位符没有删除。怎么办?

这是我的代码..

html

<textarea name='body'  rows='2' cols='100' onkeydown="textCounter(document.wireForm.body,document.wireForm.remLen1,240)" onkeyup="textCounter(document.wireForm.body,document.wireForm.remLen1,240)" id="thewire_large-textarea" placeholder="<?php echo $msg;?>" ></textarea>

我试过的jquery

$('#thewire_large-textarea').keyup(function() 
    if (input.val() != "") 
        placeholder.hide();
    
);

但还是一样。那么我们如何在按下tab key时删除占位符。

【问题讨论】:

你可以这样做 [Placeholder remove][1] [1]: ***.com/questions/9707021/… 在按下tab 时,哥们……它不起作用…… 【参考方案1】:

您不会使用focus 事件吗?因为 Tab 键触发焦点。

$('#thewire_large-textarea').focus(function() 
    if ($(this).val() != "") 
        $(this).attr('placeholder', ''); // remove the value of placeholder
    
);

其次,您会检查当前元素的值对吗?

我为您创建了一个 Fiddle,它将焦点设置到第一个元素。在这种情况下,它是一个输入字段。您可以按 Tab 键,移动到 textarea。并查看占位符是如何被删除的。

http://jsfiddle.net/afzaal_ahmad_zeeshan/SJ6wZ/

【讨论】:

当焦点移到文本区域时,占位符没有被移除我确定这意味着,onfocus【参考方案2】:

@Afzaal Ahmad Zeeshan 的解决方案完美运行,当然支持他。 我只是用下面的这个功能完成了他的帖子。当您在 texarea 上再次使用 tab 并再次使用 tab 时,您会松开占位符,如果您写一些东西没关系,但如果不是 placeholder 没有回来,请添加以下内容:

$('input').focus();
$('textarea').focus(function () 
    $(this).attr('placeholder', '');
);
//add this 
    $('textarea').blur(function () 
        $(this).attr('placeholder', 'Love for all, Hatred for none! :)');
    );

【讨论】:

以上是关于在按下标签按钮时删除占位符的主要内容,如果未能解决你的问题,请参考以下文章

删除导航控制器创建的标签栏占位符?

将查询保留在搜索栏中,但使用占位符作为初始默认值

如何从表格中删除标题和详细信息占位符标签及其行?

如何摆脱从标签接管的密码字段上的占位符

javascript Pardot表单 - 删除标签和添加占位符

如何更改输入标签占位符的语言?