一个简单的输入提示框

一个简单的输入提示框

#今天发现某东的填写快递单号的输入框会自动出现一行放大的字体,觉得有意思的,自己简单的模拟了一下,感兴趣的朋友可以相互交流哦🙂
初始图
输入时

js部分(css部分就简单设置一下,这里就不放啦)
<body>
    <div class="search">
        <div class="con">123</div>
        <input type="text" placeholder="请输入您的快递单号" class="jd">
    </div>
<script>
        var con = document.querySelector('.con');
        var jd_input = document.querySelector('.jd');
        jd_input.addEventListener('keyup', function() {
                if (this.value == '') {
                    con.style.display = 'none';
                } else {
                    con.style.display = 'block';
                    con.innerText = this.value;
                }
            })
        jd_input.addEventListener('blur', function() {
                con.style.display = 'none';
            })
        jd_input.addEventListener('focus', function() {
            if (this.value !== '') {
                con.style.display = 'block';
            }
        })
    </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代码,可以实现一个搜索提示框: ```python import tkinter as tk class AutocompleteEntry(tk.Entry): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.var = self["textvariable"] if self.var is None: self.var = self["textvariable"] = tk.StringVar() self.var.trace('w', self.update_list) self.listbox = tk.Listbox() def update_list(self, *args): search_term = self.var.get() if len(search_term) > 0: self.listbox.delete(0, tk.END) results = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape'] for item in results: if search_term.lower() in item.lower(): self.listbox.insert(tk.END, item) self.listbox.place(x=self.winfo_x(), y=self.winfo_y() + self.winfo_height()) else: self.listbox.delete(0, tk.END) self.listbox.place_forget() def handle_selection(self, event): self.var.set(self.listbox.get(tk.ACTIVE)) self.listbox.delete(0, tk.END) self.listbox.place_forget() self.focus_set() root = tk.Tk() label = tk.Label(root, text="Enter a search term:") label.pack() entry = AutocompleteEntry(root) entry.pack() entry.bind('<Return>', lambda e: print(entry.get())) entry.listbox.bind('<Double-Button-1>', entry.handle_selection) entry.listbox.bind('<Return>', entry.handle_selection) entry.listbox.bind('<Escape>', lambda e: entry.listbox.place_forget()) root.mainloop() ``` 这个搜索提示框使用了一个 `AutocompleteEntry` 类来继承自 `tk.Entry`,并在其上添加了一个下拉列表框。当用户输入搜索词时,下拉列表框会显示所有包含该词的结果。用户可以通过鼠标或键盘选择一个结果,或者按下 `Enter` 键来选择当前高亮的结果。如果用户按下 `Escape` 键,下拉列表框会消失。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值