javascript - 模拟placehoder的两个问题?
天蓬老师
天蓬老师 2017-04-11 11:35:31
[JavaScript讨论组]

为了使IE8支持placehoder属性,这里通过span来模拟placehoder属性

js:

$('input').keyup(function(){
    var $input = $(this);
        inputVal = $(this).val();
    if(inputVal == "") {
        $input.css("background-color","transparent");
    
    } else {
        $input.css("background-color","#FAFAFA");
    }
});

这里我是将span至于input的底层,input透明,就显示出了带背景色的span,当val不等于空时,input有背景色,就盖住了span。

现在遇到了两个小问题,一个是当输入中文的时候,如果还未在输入法中选择文字,span不隐藏。

另一个问题就是,这是一个日期选择插件,当选择了日期后,添加到input中,这是span没有消失,如何改为监听当input va()不等于空时,就显示背景色

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(5)
阿神

用焦点 focus 和失去焦点 blur 事件。
获取焦点时, span 立即隐藏;失去焦点时有值 span 隐藏,空值显示。

迷茫

结合keydown事件一起用,当keydown事件发生时,判断input的值是否为空,不为空则隐藏。否则,反之。

高洛峰

监听input事件或者change事件,然后判断内容是否为空.

阿神
$("input[name='kw']").on("propertychange input",function(){
    //值有变动,验证是否为空做对应的背景色处理
});
高洛峰

使用propertychange和input事件应该就可以了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号