├── README.md ├── css ├── bootstrap.css ├── images │ ├── pointes_blue.png │ └── pointes_green.png └── ystep.css ├── index.html └── js ├── bootstrap.min.js ├── jquery.min.js └── ystep.js /README.md: -------------------------------------------------------------------------------- 1 | # JQuery Steps 2 | 3 | >去掉了popover,感觉真心弹出提示真心不好用。 4 | 5 | 另外,空间的宽度过窄,暂时改成手动调节,需要使用者自定义宽度以及空间的宽度。 6 | 7 | # 2016/05/29 更新-->增加响应式布局 8 | 9 | 布局方法: 10 | 11 | >计算方法,每个原点之间的距离为x,共有y个原点。则: 12 | 13 | - 进度条容器的宽度为 x*y px 14 | - 进度条的宽度以及进度条容器宽度为x*(y-1) px 15 | - 按钮偏移值为 x*y px 16 | 17 | 18 | ```css 19 | 20 | /*添加相应式CSS*/ 21 | @media (min-width: 768px) { 22 | /*调节总的宽度*/ 23 | .ystep-lg { 24 | width: 400px; 25 | } 26 | /*调节进度条宽度*/ 27 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 28 | width: 300px; 29 | } 30 | /*调节各个原点之间的跨度*/ 31 | .ystep-lg li { 32 | margin-right: 0px; 33 | } 34 | /*调节按钮位置*/ 35 | .step-button{ 36 | left: 400px; 37 | } 38 | } 39 | @media (min-width: 992px) { 40 | /*调节总的宽度*/ 41 | .ystep-lg { 42 | width: 600px; 43 | } 44 | /*调节进度条宽度*/ 45 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 46 | width: 450px; 47 | } 48 | /*调节各个原点之间的跨度*/ 49 | .ystep-lg li { 50 | margin-right: 50px; 51 | } 52 | /*调节按钮位置*/ 53 | .step-button{ 54 | left: 600px; 55 | } 56 | } 57 | @media (min-width: 1200px) { 58 | /*调节总的宽度*/ 59 | .ystep-lg { 60 | width: 800px; 61 | } 62 | /*调节进度条宽度*/ 63 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 64 | width: 600px; 65 | } 66 | /*调节各个原点之间的跨度*/ 67 | .ystep-lg li { 68 | margin-right: 100px; 69 | } 70 | /*调节按钮位置*/ 71 | .step-button{ 72 | left: 800px; 73 | } 74 | } 75 | ``` 76 | # 增加点击按钮事件,以及校验 77 | 78 | ``` 79 | $(".ystep").loadStep({ 80 | steps:["发起","审核","募款","执行"], 81 | beforeChange: function(nowIndex,nextIndex){ 82 | console.log("跳转前校验:"+nowIndex +" "+nextIndex); 83 | 84 | if(nowIndex === 1 && nextIndex === 2 ){ 85 | return true; 86 | }else if(nowIndex === 2 && nextIndex === 3){ 87 | return true; 88 | }else if(nowIndex === 3 && nextIndex === 4){ 89 | return true; 90 | } 91 | return true; 92 | }, 93 | afterChange: function(nowIndex,prevIndex){ 94 | console.log("跳转后动作:"+nowIndex +" "+prevIndex); 95 | 96 | if(nowIndex <1 || nowIndex >5) return; 97 | 98 | /*for(var i = 1; i <= 5; i++){ 99 | if(i === nowIndex){ 100 | $("#page"+i).css("display","block"); 101 | }else{ 102 | $("#page"+i).css("display","none"); 103 | } 104 | }*/ 105 | 106 | if(nowIndex === 2 && prevIndex === 1){ 107 | 108 | }else if(nowIndex === 3 && prevIndex === 2){ 109 | 110 | }else if(nowIndex === 4 && prevIndex === 3){ 111 | 112 | } 113 | } 114 | }); 115 | ``` 116 | -------------------------------------------------------------------------------- /css/images/pointes_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xinghalo/JQuery-Steps/ac0229822cf1d18ece28f5791b5a59f5a84437b8/css/images/pointes_blue.png -------------------------------------------------------------------------------- /css/images/pointes_green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xinghalo/JQuery-Steps/ac0229822cf1d18ece28f5791b5a59f5a84437b8/css/images/pointes_green.png -------------------------------------------------------------------------------- /css/ystep.css: -------------------------------------------------------------------------------- 1 | /*common css*/ 2 | .ystep-container { 3 | font-family: "Helvetica Neue",Helvetica,"Hiragino Sans GB","Wenquanyi Micro Hei","Microsoft Yahei",Arial,sans-serif; 4 | display: inline-block; 5 | position: relative; 6 | color: #000; 7 | 8 | margin: 20px; 9 | } 10 | .ystep-container ul { 11 | list-style: none; 12 | } 13 | .ystep-container ul,.ystep-container li,.ystep-container p { 14 | margin: 0; 15 | padding: 0; 16 | } 17 | 18 | /*size css*/ 19 | .ystep-lg { 20 | width: 700px; 21 | height: 60px; 22 | font-size: 18px; 23 | left: 15%; 24 | /*line-height: .3;*/ 25 | } 26 | 27 | /*large size css*/ 28 | .ystep-lg .ystep-container-steps { 29 | position: absolute; 30 | top: 2px; 31 | cursor: pointer; 32 | z-index: 10; 33 | } 34 | .ystep-lg li { 35 | float: left; 36 | width: 100px; 37 | height: 85px; 38 | margin-right: 100px; 39 | } 40 | .ystep-lg .ystep-step-done { 41 | background-position: -278px -132px; 42 | } 43 | .ystep-lg .ystep-step-undone { 44 | background-position: -137px -131px; 45 | } 46 | .ystep-lg .ystep-step-active { 47 | background-position: -414px -131px; 48 | } 49 | .ystep-lg .ystep-progress { 50 | width: 400px; 51 | height: 10px; 52 | position: absolute; 53 | top: 30px; 54 | left: 15px; 55 | float: left; 56 | margin-right: 10px; 57 | overflow: hidden; 58 | } 59 | .ystep-lg .ystep-progress-bar { 60 | width: 400px; 61 | height: 20px; 62 | background: #e4e4e4; 63 | display: inline-block; 64 | float: left; 65 | } 66 | .ystep-lg .ystep-progress-highlight { 67 | height: 20px; 68 | display: block; 69 | } 70 | 71 | /*blue css*/ 72 | .ystep-blue .ystep-step-done { 73 | background-image: url("./images/pointes_blue.png"); 74 | background-repeat: no-repeat; 75 | } 76 | .ystep-blue .ystep-step-undone { 77 | background-image: url("./images/pointes_blue.png"); 78 | background-repeat: no-repeat; 79 | color: #9c9a9b; 80 | } 81 | .ystep-blue .ystep-step-active { 82 | background-image: url("./images/pointes_blue.png"); 83 | background-repeat: no-repeat; 84 | color: #3276b1; 85 | } 86 | .ystep-blue .ystep-progress-highlight { 87 | background: #60baff; 88 | } 89 | /*按钮样式*/ 90 | .ystep { 91 | padding: 20px; 92 | /*min-width: 1114px;*/ 93 | } 94 | .step-button{ 95 | position: relative; 96 | top: -85px; 97 | } 98 | .step-button button{ 99 | margin: 15px; 100 | } 101 | 102 | /*添加相应式CSS*/ 103 | @media (min-width: 768px) { 104 | /*调节总的宽度*/ 105 | .ystep-lg { 106 | width: 400px; 107 | } 108 | /*调节进度条宽度*/ 109 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 110 | width: 300px; 111 | } 112 | /*调节各个原点之间的跨度*/ 113 | .ystep-lg li { 114 | margin-right: 0px; 115 | } 116 | /*调节按钮位置*/ 117 | .step-button{ 118 | left: 400px; 119 | } 120 | } 121 | @media (min-width: 992px) { 122 | /*调节总的宽度*/ 123 | .ystep-lg { 124 | width: 600px; 125 | } 126 | /*调节进度条宽度*/ 127 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 128 | width: 450px; 129 | } 130 | /*调节各个原点之间的跨度*/ 131 | .ystep-lg li { 132 | margin-right: 50px; 133 | } 134 | /*调节按钮位置*/ 135 | .step-button{ 136 | left: 600px; 137 | } 138 | } 139 | @media (min-width: 1200px) { 140 | /*调节总的宽度*/ 141 | .ystep-lg { 142 | width: 800px; 143 | } 144 | /*调节进度条宽度*/ 145 | .ystep-lg .ystep-progress, .ystep-lg .ystep-progress-bar { 146 | width: 600px; 147 | } 148 | /*调节各个原点之间的跨度*/ 149 | .ystep-lg li { 150 | margin-right: 100px; 151 | } 152 | /*调节按钮位置*/ 153 | .step-button{ 154 | left: 800px; 155 | } 156 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 57 | 58 | -------------------------------------------------------------------------------- /js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.5 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jt |