【问题标题】: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时删除占位符。

【问题讨论】:

标签: javascript jquery html css


【解决方案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! :)');
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-21
    • 2018-11-09
    • 2019-06-07
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 2013-12-09
    相关资源
    最近更新 更多