按下按钮上的占位符

时间:2014-05-27 07:36:36

标签: javascript jquery html css

我有一个textarea,它有一个占位符。要在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时删除占位符。

2 个答案:

答案 0 :(得分:3)

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

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

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

我为你创造了一个小提琴,它会把焦点放在第一个元素上。在这种情况下,输入字段。您可以按Tab键移动到textarea。并查看占位符的删除方式。

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

答案 1 :(得分:1)

@Afzaal Ahmad Zeeshan的解决方案完美无缺,当然还要支持他。 我刚刚在下面用这个功能完成他的帖子。当你再次选择texarea和tab时,你会松开占位符,如果你写了一些东西就可以了,但如果不是占位符,那么就回来添加:

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