美文网首页
用JQ编写代替input框里面的placeholder效果

用JQ编写代替input框里面的placeholder效果

作者: 卟才 | 来源:发表于2017-03-31 09:38 被阅读0次

        写这篇文章是因为我有了这样的需求,我的需求就是UI设计的效果图是input框里面placeholder的文字颜色不一样,大家都知道,你可以更改placeholder文字的颜色与大小和输入的内容不一样,但是不能保证placeholder里面有不同样式的文字。我只能通过jq来写。

       他的原理就是将代替placeholder的文字定位到input框里面,然后采用的是keyup事件,就是当键盘抬起的时候,如果input里面的value值为空,那么定位的这段文字处于显示状态,如果不为空,则为隐藏。

$("#use_name").keyup(function(){

if(this.value !== ""){

$(".pos").css("display","none")

}else{

$(".pos").css("display","block")

}

})

        只是使用了keyup事件,没有用获取或者失去焦点事件,因为相当于不能即时获取input框里面的value值。


       下面说一下痛点:  

       那就是你定位上去的文字是在input之上的,这样就只能选择文字,而不能在input里面输入。有人的解决方案就是设置不同的层,z-index不一样,但是如果有其他层在的时候,比如轮播图,那就不好玩了。

        解决方案:

        当点击定位文字的时候,让input框获取焦点,这就ok。

$(".pos").click(function(){

$("#use_name").focus()

})

        整理代码如下:

<style>         ==>css

.div_ipt {

position: relative;

}

#use_name {

height: 30px;

line-height: 30px;

font-size: 18px;

width: 250px;

}

.pos {

position: absolute;

left: 0;

top: 0;

height: 30px;

line-height: 30px;

vertical-align: middle;

margin: 0;

}

</style>


<div class="div_ipt">    ==>html

<input type="text" id="use_name" />

<p class="pos">

<span style="color: #6f6f70;font-size: 16px;">

用户名/手机号/

</span>

</p>

</div>


<script src="http://code.jquery.com/jquery-latest.js"></script>      ==>js

<script>

$("#use_name").keyup(function() {

if(this.value !== "") {

$(".pos").css("display", "none")

} else {

$(".pos").css("display", "block")

}

})

$(".pos").click(function() {

$("#use_name").focus()

})

</script>

相关文章

  • 用JQ编写代替input框里面的placeholder效果

    写这篇文章是因为我有了这样的需求,我的需求就是UI设计的效果图是input框里面placeholder的文...

  • H5 仿原生APP密码输入

    效果图 效果一: 效果二: 实现方式 将input框移出屏幕,用label来代替其捕捉输入动作,监听input的i...

  • 更改placeholder的字体样式

    修改input框中placeholder的字体相关样式 ::-webkit-input-placeholder {...

  • ie8兼容 placeholder的显示 border-r

    引入jq之后,,,引入以下代码可以解决ie8input框placeholder不显示的问题 兼容je8时使用pie...

  • 2019-11-18

    input框中placeholder自定义字体颜色 input::-webkit-input-placeholde...

  • 前端笔记15

    jQuery特殊效果 jQuery动画 jQuery循环 元素的绝对位置 鼠标的移入和移出 input框事件 jQ...

  • javascript 动态设置input的placeholder

    方法1:通过js来设置文本框input的placeholder值 方法2:通过jquery设置文本框input的p...

  • 工作随手笔记

    移动端input placeholder垂直不居中。移动端输入框的placeholder文字仔细看并非完全垂直居中...

  • 表单

    文本框 按钮 value 值作为input默认值 placeholder 提示文字 radio ...

  • placeholder的样式设置

    在input框中有时想将输入的字和placeholder设为不同的颜色或其它效果,这时就可以用以下代码来对plac...

网友评论

      本文标题:用JQ编写代替input框里面的placeholder效果

      本文链接:https://www.haomeiwen.com/subject/dbpmottx.html