模拟select

模拟select下拉框

当元素失去焦点时发生 blur 事件。这里在span上绑定trigger.blur模拟blur事件。

body加了一个click事件,点击非当前span区域触发span的trigger.blur事件来隐藏下拉ul层;

点击span区域 e.target和span[0] 返回[object HTMLSpanElement] return;保证鼠标点在span区域ul下拉层还在显示。

<style>
    #bindBlur{ position: relative; height: 30px; width: 200px; margin: 20px 0;}
    #bindBlur span{display: inline-block; width: 200px; border: 1px solid #e5e5e5; height: 30px; line-height: 30px; background: #f7f7f7; }
    #bindBlur ul{display:none; position: absolute; top: 30px; left: 0; border: 1px solid #e5e5e5; width:100%; line-height:30px; }
</style>
<div id="bindBlur">
    <span>显示内容</span>
    <ul>
        <li>111111111111</li>
        <li>222222222222</li>
    </ul>
</div>
<script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
<script>
    $(function() {
        var bindBlur = $("#bindBlur"),
            span = bindBlur.find("span"),
            ul = bindBlur.find("ul"),
            list = ul.children("li");
        span.bind("trigger.blur", function() {
            ul.hide();
        })
        span.click(function() {
            ul.show();
        })
        list.each(function() {
            var self = $(this);
            self.click(function() {
                var text = self.html();
                span.html(text);
            })
        })
        $("body").click(function(e) {
            if(e.target == span[0]) {
                return;
            }
            span.trigger("trigger.blur");
        })
    })
</script>
时间: 2025-01-13 12:54:50

模拟select的相关文章

模拟select控件&amp;&amp;显示单击的坐标&amp;&amp;用户按下键盘,显示keyCode

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

模拟select下拉框之多选(数据源采用模拟Ajax数据--原创)

最近需要一个下拉多选,本来想偷懒的,所以在网上百度了一番,最终还是发现没有一个符合自己要求的,所以我自己写了一个插件.下面是GIF动态效果图展示 相信大家已经看到效果了,接下来就是我的代码展示 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模拟select下拉框之多选</title> <style

ul+js模拟select+改进

html: <div class="select_box"> <input type="text" value="还款方式" readonly="readonly"> <ul class="select_ul cur" style="display: none;"> <li class="sel_value">所有还款方

Bootstrap 3之美06-Page Header、Breadcrumbs、Dropdowns、Button Dropdowns、用Button和Dropdowns模拟Select、Input Groups、Thumbnails、Panels、Wells

本篇主要包括: ■  Page Header■  Breadcrumbs■  Button Groups■  Dropdowns■  Button Dropdowns■  用Button和Dropdowns模拟Select■  Input Groups■  Thumbnails■  Panels■  Wells □ Page Header Page Header是指页面最顶部. <div class="page-header"> <h1>超级球迷</h1&

div模拟select下拉菜单效果

有些时候select下拉菜单直接用css调整样式,可能会有兼容性的问题,尤其是右侧的下拉三角,很难用css控制,那怎么办呢?可以采用div模拟select下拉菜单的效果.先直接上代码了: HTML的结构如下: <!doctype html> <html> <head> <meta charset="utf-8" /> <title>div模拟下拉菜单特效</title> <style type="t

div 模拟&lt;select&gt;事件

IE7 下,不能够自定义<select>/<option>的样式,所以为了方便起见,用div可以进行模拟 <!doctype html> <html> <meta charset="utf-8"> <title>div模拟select</title> <script type="text/javascript" src="js/jquery-1.8.3.min.js&

div模拟select/option解决兼容性问题及增加可拓展性

想到做这个模拟的原因是之前使用select>option标签的时候发现没有办法操控option的很多样式,比如line-height等,还会由此导致在IE8及以下版本浏览器中的各种问题. 这个模拟思路很简单,也很清晰,我就直接上代码了 html: 第一层div是模拟select标签,第二层div是模拟option下拉列表 1 <div> 2 <div class="sim-select"></div> 3 </div> 4 <

联合县城市,采用ajax,而使用ul模拟select下拉

接待处代码 js //采用jquery展示鼠标放到省ul下拉显示 $("#province").hover(function(){ $("#province ul").toggle(); }) //使用jquery效果展示鼠标放到城市的ul下拉展示 $("#city").hover(function(){ $("#city ul").toggle(); }) //使用jquery效果展示鼠标放到区县的ul下拉展示 $(&quo

JS模拟select控件的代码

用JavaScript模拟实现Select下拉选框功能,在本效果的实现上,背景图片起到了非常重要的美化作用,然后用CSS和JS分别对LI进行控制,最终实现漂亮的Select效果. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=&q