Javascript:仿淘宝搜索框用户输入事件的实现

打开淘宝网首页,找到淘宝首页的搜索框,大家可以看到,当页面一打开,搜索框中就可以看到灰色字体“少女高跟鞋”,还有闪烁的光标。当用户点击输入的时候,灰色字消失。当用户清空文本框的所有内容的时候,灰色字自动恢复。

接下来,这个小案例就是要介绍如何实现这种效果,即用户输入事件。

判断用户输入的事件有 oninput 和onpropertychange 。当然,想必你能想到,由于浏览器兼容的问题,他们出现的场合有所不同。 正常浏览器支持oninput ,而 IE6、IE7、IE8 支持的 onpropertychange 。

为了节省时间,不再模仿淘宝CSS样式。

代码及解析 :

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>判断用户输入事件第2遍oninput 和onpropertychange 的用法</title>
 6 </head>
 7  <style>
 8         .search {
 9             width:300px;
10             height: 30px;
11             margin: 100px auto;
12             position: relative;
13         }
14         .search input {
15             width:200px;
16             height:25px;
17
18         }
19         .search label {
20             font-size: 12px;
21             color:#ccc;
22             position: absolute;
23             top:8px;
24             left:10px;
25             cursor: text;
26         }
27     </style>
28     <script type="text/javascript">
29     业务逻辑分析:
30 //           1.内容为空时,光标和默认字显示在搜索框。自动获取焦点
31 //           2.当输入内容时,默认字消失。用oninput事件
32
33         window.onload = function () {
34             function $(id){ return document.getElementById(id);}
35             $("txt").focus();//自动获取光标方法
36             $("txt").oninput = $("txt").onpropertychange = function () {
37             //oninput 大部分浏览器支持  检测用户表单输入内容
38             //onpropertychange  ie678  检测用户表单输入内容
39                 if ( this.value == ""){
40                     // 首先判断文本框里的值是否为空。注意用双等号!
41                     $("message").style.display = "block";
42                 } else {
43                     $("message").style.display = "none";
44                 }
45             }
46         }
47     </script>
48 <body>
49 <div class="search">
50     <input type="text" id="txt">
51     <label for="txt" id="message">仿淘宝搜索框</label>
52     <!-- 注意label 中for属性 值指向 input 的id值 ,意思是把label标签和input表单相关联。
53     label 元素不会向用户呈现任何特殊效果。当用户在label元素内点击文本, 浏览器就会自动将焦点转到和标签相关联的表单控件上。 -->
54 </div>
55 </body>
56 </html>

原文地址:https://www.cnblogs.com/zijue/p/9904775.html

时间: 2025-01-10 03:32:09

Javascript:仿淘宝搜索框用户输入事件的实现的相关文章

仿淘宝搜索框(点击隐藏文字)

html部分 <body> <div class="search"> <input type="text" id="txt"/> <label for="txt" id="message">必败的国际大牌</label> </div> </body> css部分 <style> .search { width:3

仿淘宝搜索框

<style type="text/css"> #search{ margin: 100px auto; width: 300px; height: 40px; position: relative; } #search input{ width: 200px; height: 20px; } #search label{ position: absolute; left: 20px; top: 5px; cursor: text; color: #ccc; } </

jQuery实现TEXT文本框输入时的提示信息(谷歌百度淘宝搜索框提示实现)

在搜索框中,输入之前框内有输入的提示信息,文本框获得焦点后会自动消失的效果,效果图如下: 鼠标放在文本框时的效果: 创建工具类(已经存在就不用创建了)Util.js(DWR的JS) 在里面添加如下方法: Js代码 /** * Input框里的灰色提示,使用前先引入jquery * <br>使用方法:<input type="text" tipMsg="您的用户名"   /> * * @return */ function inputTipTe

跨域获取淘宝搜索框数据

<style> *{ margin: 0; padding: 0; } form{ position: relative; } .text{ width:300px; border: 1px solid #FFCC00; line-height: 40px; outline:none; } .sub{ width: 50px; line-height: 40px; background:#FFCC00 ; /*border: none;*/ position: absolute; top: 0

基于Bootstrap仿淘宝分页控件实现

.header { cursor: pointer } p { margin: 3px 6px } th { background: lightblue; width: 20% } table { text-align: center; margin-top: 20px; margin-left: 10px; margin-bottom: 20px } a { cursor: pointer; text-decoration: none; color: gray } a:hover { text

Ecshop 商品页配送方式添加 实现仿淘宝按地区显示运费

Ecshop实现仿淘宝按地区显示运费 淘宝网(Taobao)购物的宝贝详情页面,可以针对不同地区显示不同运费,运费由后台设定:结算时间,按重量.件数计算运费.Ecshop本身有配送方式插件,已有多家物流公司插件,例如:顺丰快递.申通快递.圆通快递等.本文介绍如何实现按地区显示运费,并且让每个商品绑定运费模板. 1.Ecshop后台配送方式创建 进入Ecshop后台"系统设置-->配送方式",将“顺丰快递”改名称为“粮食快递”,配送ID号为6. 2.商品绑定配送方式的运费模板 2.

模拟百度搜索框,输入时显示历史记录

今天写了个小demo,利用本地存储的特点,模拟百度搜索框. 主要知识是利用本地存储的特点,模拟百度搜索时的历史记录显示. 主要HTML代码为 <div class="search"> <input type="text"/> <button class="btn">搜索</button> </div> <ul class="hidden"> <li&

揭秘:淘宝搜索排名真正规则和技巧

本文来自于虾米站长 http://www.xiamiz.com/a/tuiguang/2013/1127/106771.html 最近淘宝排名不断的改变规则,但是最终万变不离其宗.为了更简单让大家了解,我们可以想象成一场过关游戏. 关于排名的有:点击率,跳出率,转化率,综合评分(描述情况,发货速度,客服服务..)因素很大.这些名词大家都懂吧?不懂的可以百度. 1,第一关,检测点击率如何. 检测原理:新品上架:假设随机显示 100 次展示.所谓 100 次展示机会并不是随便给您带来流量的,而是判断

jquery仿淘宝规格颜色选择效果

jquery实现的仿淘宝规格颜色选择效果源代码如下 jquery仿淘宝规格颜色选择效果 -收缩HTML代码 运行代码 [如果运行无效果,请自行将源代码保存为html文件运行] <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script> <style> dd,dl{zoom:1;ove