Học tại trường Chưa có thông tin
Đến từ Lào Cai , Chưa có thông tin
Số lượng câu hỏi 2
Số lượng câu trả lời 68
Điểm GP 6
Điểm SP 70

Người theo dõi (6)

Edogawa Whiter
Tuệ Phạm Trí
Huy Ngô Tuấn
Gia Hân

Đang theo dõi (1)

Hà Đức Thọ

Câu trả lời:

/ *! * Khởi động v3.3.4 (http://getbootstrap.com) * Bản quyền 2011-2015 Twitter, Inc. * Được cấp phép theo MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * / if ("undefined" == typeof jQuery) đưa ra lỗi mới ("Bootstrap's JavaScript requires jQuery"); + function (a) {"use strict"; var b = a.fn.jquery.split ("") [0] (1) <9 || 1 == b [0] && 9 == b [1] && b [2] <1) ném Lỗi mới ("Bootstrap 's JavaScript yêu cầu phiên bản jQuery 1.9.1 trở lên ")} (jQuery), + function (a) {" sử dụng nghiêm ngặt "; function b () {var a = document.createElement (" bootstrap "), b = {WebkitTransition: webkitTransitionEnd ", MozTransition:" transitionend ", OTransition:" oTransitionEnd otransitionend ", chuyển tiếp:" transitionend "}; cho (var c trong 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}) (a, 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) {trả về một b.target) .is (này)? b.handleObj.han dll.apply (this, arguments): void 0}})})} (jQuery), + function (a) {"sử dụng nghiêm ngặt"; function b (b) {return this.each (function () {var c = a, b, b, b, b, b, b, b, b, b, b, c, d, (c)}}} var c = '[data-dismiss = "alert"], d = function (b) {a (b) .on ("click", c, this.close)}; d .VERSION = "3.3.4", d.TRANSITION_DURATION = 150, d.prototype.close = function (b) {chức năng c () {g.detach () kích hoạt ("closed.bs.alert"). )} var e = a (this), f = e.attr ("data-target"), f || (f = e.attr ("href"), f = f && f.replace (/.*(?= (g), g.length || (g = e.closest (". alert")), g (g) = g (g) .trigger (b = a.Event ("close.bs.alert")), b.isDefaultPrevented () || (g.removeClass ("trong"), a.support.transition && g.hasClass ("phai")? g Một ("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 (tài liệu) .on ("click.bs.alert.data-api", c, d.prototype.close )} (jQuery), + function (a) {"sử dụng ("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. $ phần tử = a (b), this.options = a.extend ({}, c.DEFAULTS, d), this.isLoading = 1 1); c.VERSION = "3.3.4" , c.DEFAULTS = {loadingText: "loading ..."}, c.prototype.setState = function (b) {var c = "bị vô hiệu hóa", d = this. $ phần tử, e = d.is ("đầu vào" ) "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 = chức năng () {var a =! 0, b = this. $ element.closest ('[data-toggle = "buttons"]'), nếu (b.length) {var c = this. $ element.find ("đầu vào ")," radio "== c.prop (" type ") && (c.prop (" checked ") && this. $ element.hasClass (" active ")? a =! 1: b.find (". ") .removeClass (" active ")), một && c.prop (" checked ",! này. $ element.hasClass ("active")), $ element.attr ("aria-pressed",! this element $ element.hasClass ("active")); a && this. $ phần tử a.fn.button.Constructor = c, a.fn.button.noConflict = function () {return a .fn.button.Constructor = c, a.fn.button.noConflict = function () (trả về một fn.button = d, this}, a (document) .on ("click.bs.button.data-api", '[data-toggle ^ = "nút"]', chức năng (c) {var d = a (c.target); d.hasClass ("btn") || (d = d.closest (".btn")), b.call (d, "toggle"), c.preventDefault ()}). on ("focus.bs.button.data-api blur.bs.button.data-api", '[data-toggle ^ = "nút"]', chức năng (b) {a (b.target) .closest "jQuery", + function (a) {"use strict", function b ("use strict"), chức năng 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 () chu kỳ ()})} var c = chức năng (b, c) {this $ phần tử = a (b), điều này. $ chỉ số = thứ là $ 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.example.ini ("keydown.bs.carousel", a.proxy (this.keydown, this)), "hover" == this.options.pause &&! ("ontouchstart" trong document.documentElement) && this $ element.on ("mouseenter.bs.carousel", a.proxy (this.pause, this)) trên ("mouseleave.bs.carousel", a.proxy (this.cycle, điều này ), c.VERSION = "3.3.4", c.TRANSITION_DURATION = 600, c.DEFAULTS = {Khoảng thời gian: 5e3, tạm dừng: "hover", quấn:! 0, bàn phím:! 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. (this.paused =! 1), this.interval && clearInterval (this.interval), hàm này sẽ được sử dụng để tạo ra các giá trị mặc định. , this.options.interval &&! this.paused && (this.interval = setInterval (a.proxy (this.next, this), this.options.interval), this}, c.prototype.getItemIndex = function (a) { trả lại khoản này $ items = a.pare nt (), this. $ items.index (a || this. $ active)}, c.prototype.getItemForDirection = chức năng (a, b) (var c = this.getItemIndex (b ), d = "prev" == a && 0 === c || "next" == a && c == này $ item.length-1, nếu (d &&! this.options.wrap) return b; var e = " prev "== a -1 -1, f = (c + e)% giá trị này $ item.length, trả về giá trị này $ item.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> một void 0 : this.sliding? this. $ element.one ("slid.bs.carousel", function () {b.to (a)}): c == a? this.pause () chu kỳ (): điều này. slide (a> c? "next": "prev", đây. $ items.eq (a))}, c.prototype.pause = chức năng (b) {return b || (this.paused = 0), Điều này sẽ giúp bạn hiểu rõ hơn về các yếu tố này như thế nào: $ 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 = functi on (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}), nếu (this. $ element.trigger (k), k.isDefaultPrevented ()) {if (this.sliding = 0, g && this.pause () $ this.getItemIndex (f (this) $ this.getItemIndex (f) (this.example) (this.example.example) (this.example) (this.example.conf (), this.exec (). ), l && l.addClass ("active")} var m = a.Event ("slid.bs.carousel", {relatedTarget: j, direction: h}), trả về a.support.transition && this. $ element.hasClass ("slide")? (f.addClass (b), f [0] .offsetWidth, e.addClass (h), f.addClass (h), e.one ("bsTransitionEnd", chức năng () {f.removeClass ("active"), e.removeClass (["active", h] .join ("")), i.sliding =! 1, setTimeout (chức năng () {i. $ element.trigger (m)}, 0)}) emulateTransitionEnd (c.TRANSITION_DURATION)) :( e.removeClass ("hoạt động"), f.addClass ("hoạt động"), this.sliding = ! 1, điều này. $ Element.trig ger (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"), h && (g.interval = 1), b (), (), () (), (), (), () , "[data-slide]", e) .on ("click.bs.carousel.data-api", "[data-slide-to]", e), a (cửa sổ) .on ("load" function () {a ('[data-ride = "carousel"]). Mỗi hàm () {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 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 && / hiển thị | ẩn / .test (b) && (f.toggle = 1 ), e || c.data ("bs.collapse", e = new d (this, f)), "string" == typeof b && e [b] ()})} var d = chức năng (b, c) {this.file = a (b), this.options = a.extend ({}, d.DEFAULTS, c), đây $ 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.4", d.TRANSITION_DURATION = 350, d.DEFAULTS = {toggle:! 0}, d.prototype.dimension = function () {var a = this. $ Element.hasClass ("chiều rộng"), trả lại một? "Width": "height"}, d.prototype.show = function () {if (! this.transitioning &&! this. $ element.hasClass ("in")) {var b, e = this. $ parent & & this. $ parent.children (". panel") (".w, .collapsing"); if (! (e && e.length && (b = e.data ("bs.collapse"), b &&b.transitioning))) {var f = a.Event ("hiển thị. (e, "ẩn"), b || e.data ("bscollapse"), nếu (điều này $ element.trigger (f), f.isDefaultPrevented ()) (e & & e.length && (c.call (e, "ẩn" .collapse ", null)); var g = this.dimension (); t (), $ this.rar (), $ this.rar ("collapsing") .cảm ơn bạn rất nhiều. ("thu gọn") [g] (""), "" "" "" "" "" "" "" " , điều này.transitioning = 0, điều này. $ element.trigger ("shown.bs.collapse")}; nếu (! a.support.transition) trả lại h.call (this); var i = a.camelCase ([ (phần tử này được gọi là "b", "bsTransitionEnd", a.proxy (h, this)) emulateTransitionEnd (d.TRANSITION_DURATION) [g] (this. $ element [ 0] [i])}}}}, d.prototype.hide = function () {if (! This.transitioning && this item $ element.hasClass ("in")) {var b = a.Event ("ẩn.bs (phần tử này được gọi là phần tử), nếu (this. $ element.trigger (b), b.isDefaultPrevented ()) {var c = this.dimension (); this element $. )) $ This.setDoc ("collapsed") removeClass ("collapse") attr ("aria-expanded",! 1), điều này $ trigger.addClass ("thu gọn" ) .attr ("aria-expanded",! 1), this.transitioning = 1, var e = function () {this.transitioning = 0, điều này. $ element.removeClass ("collapsing") addClass ("collapse") gây ra ("hidden.bs.collapse")}, trả về a.support.transition? void this. $ phần tử [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" (a, c, d) () () () () () () () () () }, end ()}, d.prototype.addAriaAndCollapsedClass = function (a, b) {var c = a.hasClass ("in"); a.attr ("aria-expanded", c), b (), "craps", 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 = " (e), (e) e.attr ("data-target") || d.preventDefault (); var f = b (e), g = f.data ( "bs.collap se "), h = g" toggle ": e.data (), c.call (f, h)})} (jQuery), + function (a) {" sử dụng nghiêm ngặt "; function b (b) { b, b, b, b, b, b, b, b, b, b, b = this.http: // e.hasClass ("open") && (e.trigger (b = a.Event ("hide.bs.dropdown", f)), b.isDefaultPrevented () || (d.attr ("aria- mở rộng "," false "), e.removeClass (" open "), trigger (" hidden.bs.dropdown ", f)))}))} chức năng c (b) {var c = b.attr (" dữ liệu (c) & & c.replace (/.* (? = # "), c (c) & c.replace () () () () () () () () () () () () () 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 = chức năng (b) {a (b) .on (" (e.is ("e.is" ("e.is" ("e.is" ("e.is" msgstr "" " .disabled,: disabled ")) {var f = c (e), g = f.hasClass (" open "); if (b (),! g) (" ontouchstart "trong document.documentElement &&! f.closest ( ".navba r-nav "). </ div> <div class =" dropdown-backdrop "/> '). ("aria-expanded", "true" ("aria-expanded", "true"), "true", "true", "true" và " "), f.toggleClass (" open ") Kích hoạt (" shown.bs.dropdown ", h)} return! 1}}, g.prototype.keydown = chức năng (b) {if (/ (38 | 40 | (B.which) &&! / Input | textarea / i.test (b.target.tagName)) {var d = a (this); if (b.preventDefault (), b.stopPropagation (), d.is (".default,: disabled")) {var e = c (d), g = e.hasClass ("mở"), nếu (! g && 27! = b.which || g && 27 = = b.which) return 27 == b.which && e.find (f) .trigger ("focus"), d.trigger ("click"); var h = "li: không (.disabled): visible a" i = e.find ('[role = "menu"]' + h + ', [role = "listbox"]' + h); if (i.length) {var j = i.index (b.target); 38 == b.which && j> 0 && j -, 40 == b.which && j <i.length-1 && j ++, ~ j || (j = 0), i.eq (j) .trigger ("focus")}}} }, a.fn.dropdown = d, a.fn.dropdown.Constructor = g, a.fn.dropdown.noConflict = function () {return a.fn.dropdown = h, this}, a (document) .on ("click .bs.dropdown.data-api ", b) .on (" click.bs.dropdown.data-api "," .dropdown form ", chức năng (a) {a.stopPropagation ()}) trên (" click .bs.dropdown.data-api ", f, g.prototype.toggle) .on (" keydown.bs.dropdown.data-api ", f, g.prototype.keydown) .on (" keydown.bs.dropdown .data-api ", '[role =" menu "]', g.prototype.keydown) .on (" keydown.bs.dropdown.data-api ", '[role =" listbox "]', g.prototype () () () () () () () () () () () () "bs.modal"), g = a.extend ({}, c.DEFAULTS, e.data (), "object" == typeof b && b), f || e.data ("bs.modal", f = new c (this, g)), "string" == typeof b? f [b] (d): g.show && f.show (d)})} var c = chức năng (b, c) {this.options = c: $ body = a (document.body), this. $ element = a (b), this. $ dialog = this. $ element.find ("modal-dialog"), điều này. $ backdrop = null , this.isShown = null, this.originalBodyPad = null, this.scrollbarWidth = 0, this.ignoreBackdropClick =! 1, this.options.remote && this. $ element.find ("modal-content") tải (this.options .remote, a.proxy (function () {this. $ element.trigger ("loaded.bs ), c.VERSION = "3.3.4", c.TRANSITION_DURATION = 300, c.BACKDROP_TRANSITION_DURATION = 150, c.DEFAULTS = (phông nền:! 0, bàn phím:! 0, hiển thị: 0}, c.prototype.toggle = function (a) (trả về this.show? This.hide (): this.show (a)}, c.prototype.show = chức năng (b) {var d = this, e = a.Event ("show.bs.modal", {relatedTarget: b}), đây. $ element.trigger (e), this.isShown || e.isDefaultPrevented () || (this.isShown = 0 , this.checkScrollbar (), this.setScrollbar (), this. $ body.addClass ("modal-open"), this.escape (), this.resize (), điều này. $ element.on ("click.dismiss , ".modal", '[data-dismiss = "modal"]', a.proxy (this.hide, this)), điều này. $ dialog.on ("mousedown.dismiss.bs.modal", chức năng () {d. $ element.one ("mouseup.dismiss.bs.modal", function (b) {a (b.target) .is (d. $ phần tử) && (d.ignoreBackdropClick =! 0)})}) , this.backdrop (function () {var e = a.support.transition && d. $ element.hasClass ("fade"); d. $ element.parent () chiều dài || d. $ phần tử.appendTo (d. $ (phần tử), d. $ element.show () scrollTop (0), d.adjustDialog (), e &&. $ phần tử [0] .offsetWidth, d. $ element.addClass ("in") attr ("aria -hidden ",! 1), d.enforceFocus (); var f = a.Event (" shown.bs.modal ", {relatedTarget: b}); e? d. $ dialog.one (" bsTransitionEnd ", chức năng () {d. $ element.trigger ("focus") trigger (f)}) emulateTransitionEnd (c.TRANSITION_DURATION): d. $ element.trigger ("tập trung") kích hoạt (f)}))}, c.prototype.hide = function (b) {b && b.preventDefault (), b = a.Event ("hide.bs.modal"), điều này. $ element.trigger (b), this.isShown &&! b.isDefaultPrevented ( ) && (this.isShown = 1, this.escape (), this.resize (), a (tài liệu) .off ("focusin.bs.modal"), điều này. $ element.removeClass ("in"). ("mouseup.dismiss.bs.modal"), điều này. $ dialog.off ("mousedown.dismiss. bs.TransitionEnd ", a.proxy (this.hideModal, this)) emulateTransitionEnd (c.TRANSITION_DURATION"), a.support.transition && this. ): this.hideModal ())}, c.prototype.enforceFocus = function () {a (tài liệu) .off ("focusin.bs.modal") trên ("focusin.bs.modal", a.proxy ( function (a) {this. $ phần tử [0] === a.target || this. $ element.has (a.target) .length | Trong phần này chúng tôi sẽ giới thiệu cho các bạn về các thành phần chính của phần này: $ element.trigger ("focus")}, this))}, c.prototype.escape = function () {this.isShown && this.options.keyboard? this element.on ("keydown.dismiss.bs .modal ", a.proxy (function (a) {27 == a.which && this.hide ()}, this)): this.isShown || this. $ element.off (" keydown.dismiss.bs.modal " ), c.prototype.resize = function () {this.isShown? a (window) .on ("resize.bs.modal", a.proxy (this.handleUpdate, this)): a (cửa sổ) .off ("resize.bs.modal")}, c.prototype.hideModal = function () {var a = this; this. $ element.hide (), this.backdrop (function () {a. $ body.removeClass ( "modal-open"), a.resetAdjustments (), a.resetScrollbar (), a. $ element.trigger ("hidden.bs.modal")})}, c.prototype.removeBackdrop = function () {this. $ backdrop && this $ backdrop.remove (), this. $ backdrop = null}, c.prototype.backdrop = function (b) {var d = this, e = this. $ element.hasClass ("fade")? "if (this.isShown && this.options.backdrop) {var f = a.support.transition && e; if (this. $ backdrop = a ('<div class =" modal-backdrop' + e + '"/> ') .appendTo (this. $ body), this. $ element.on ("click.dismiss.bs.modal", a.proxy (fu nction (a) {return this.ignoreBackdropClick? void (this.ignoreBackdropClick =! 1): void (a.target === a.currentTarget && ("tĩnh" == this.options.backdrop này này $ phần tử [0] (), this), f && this. $ backdrop [0] .offsetWidth, this. $ backdrop.addClass ("in") ,! b) return; f? this. $ backdrop.one ("bsTransitionEnd", b) .emulateTransitionEnd (c.BACKDROP_TRANSITION_DURATION): b ()} else if (! this.isShown && this. $ backdrop) {this. $ backdrop.removeClass ("in"); var g = function () bdb.ini ("bsTransitionEnd", g) .emulateTransitionEnd (c.BACKDROP_TRANSITION_DURATION), nếu bạn không muốn sử dụng nó, : g ()} else b && b ()}, c.prototype.handleUpdate = function () {this.adjustDialog ()}, c.prototype.adjustDialog = function () {var a = this. $ phần tử [0] .scrollHeight > $ element.css (this paddingLeft:! this.bodyIsOverflowing && a? this.scrollbarWidth: "", paddingRight: this.bodyIsOverflowing &&! a? this.scrollbarWidth: ""})}, c.prototype .resetAdjustments = function () {this. $ () {var b = document.documentElement.getBoundingClientRect (if (! a)) {var b = document.documentElement.getBoundingClientRect (nếu có thể, hãy chắc chắn rằng bạn đã tạo ra một tập tin văn bản) ); a = b.right-Math.abs (b.left)} this.bodyIsOverflowing = document.body.clientWidth <a, this.scrollbarWidth = this.measureScrollbar ()}, c.prototype.setScrollbar = chức năng () { var a = parseInt (this. $ body.css ("padding-right") || 0,10); this.originalBodyPad = document.body.style.paddingRight || "", this.bodyIsOverflowing && this.EXC body.css ( "padding-right", a + this.scrollbarWidth)}, c.prototype.resetScrollbar = function () {this. $ body.css ("padding-right", this.originalBodyPad)}, c.prototype.measureScrollbar = chức năng () {var a = document.createElement ("div"); a.className = "modal-scrollbar-measure", đây. $ body.append (a); var b = a.offsetWidth-a.clientWidth; $ body [0] .removeChild (a), b}; var d = a.fn.modal; a.fn.modal = b, a.fn.modal.Constructor = c, a.fn.modal.noConflict = function () {return a.fn.modal = d, this}, a (tài liệu) .on ("click.bs.modal.data-api", '[data-toggle = "modal"]' (), e = d.attr ("href"), f = a (d.attr ("mục tiêu dữ liệu") || e && e.replace (/.*(?= ("remote"! / # /. test (e) && e ">"), g = f.data ("bs.modal")? "toggle": a.extend }, f.data (), d.data ()), d.is ("a") && c.preventDefault (), f.one ("show.bs.modal", chức năng (a) {a.isDefaultPrevented ( ) f.one ("hidden.bs.modal", function () {d.is (": visible") && d.trigger ("focus")})}), b.call (f, g, this )} () () () () () () () () () () () .tooltip "), f =" object "== typeof b && b, (e || / hủy | ẩn / .test (b)) && (e || d.data (" bs.tooltip ", e = new c (this, f)), "string" == typeof b && e [b] ())}}} var c = function (a, b) {this.type = null, this.options = null, this.enabled = null , this.timeout = null, this.hoverState = null, this. $ phần tử = null, this.init ("tooltip", a, b)}; c.VERSION = "3.3.4", c.TRANSITION_DURATION = 150, c: <div class = "tooltip-arrow"> </ div> <div class = "" </ div> <div class = "story_text"> </ div> <div class = 'story_text' > <div class = "tooltip-inner"> </ div> </ div> ', kích hoạt: "di chuột foc chúng ta ", title:" ", delay: 0, html: 1, container:! 1, viewport: (selector:" body ", padding: 0}}, c.prototype.init = function (b, c, d ) $ this_type = b, this. $ phần tử = a (c), this.options = this.getOptions (d), đây $ viewport = this.options.viewport && a (điều này (tùy chọn «selector» phải được xác định khi khởi tạo "+ this .type + "trên đối tượng window.document!"), cho (var e = this.options.trigger.split (""), f = e.length; f -;) {var g = e [f]; if ("click" ==g) này $ element.on ("click." + this.type, this.options.selector, a.proxy (this.toggle, this)), nếu như vậy ("manual"! = "g", "g", "g", "g", "g", "g", "g" + this.type, this.options.selector, a.proxy (this.enter, this)), điều này. $ element.on (i + "." + this.type, this.options.selector, a.proxy (điều này (), this.options, {trigger: "manual", selector: "" msgstr "" "% s" msgstr "" " }): this.fixTitle ()}, c.prototype.getDefaults = function () {return c.DEFAULTS}, c.prototype.getOptions = function (b) {return b = a.extend ({}, this.getDefaults (), this $ element.data (), b), b.delay && "number" == typeof b.delay && (b.delay = (hiển thị: b.delay, ẩn: b.delay}), b}, (), c (a, d) {c [a]! = d && ((a, d)) trả về this._options && a.each (this._options, function (a, d)), c = this.getDefaults (); (b.currentTarget) .data ("bs." + this () b) a) b) a) b) c) .type), return c && c. $ tip && c. $ tip.is (": visible")? void (c.hoverState = "trong") :( c || (c = new this.constructor (b.currentTarget, this. getDelegateOptions ()), a (b.currentTarget) .data ("bs." + this.type, c)), clearTimeout (c.timeout), c.hoverState = "trong", c.options.delay &&c.options. delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c. prototype.leave = function (b) {var c = b instanceof this.constructor? b: a (b.currentTarget) .data ("bs." + this.type); return c || (c mới này (c)), clearTimeout (c.timeout), c.hoverState = "ra" ("ra"), , c.options.delay && c.options.delay.hide void (c.timeout = setTimeout (function () {"out" == c.hoverState && c.hide ()}, c.options.delay.hide): c (this.type); if (this.hasContent () && this.enabled) {this. $ () .hidden ()}, c.prototype.show = function () {var b = a.Event ("show.bs." + this.type); (element.trigger (b); var d = a.contains (this. $ phần tử [0] .ownerDocument.documentElement, this. $ phần tử [0]; nếu (b.isDefaultPrevented () || d) return; var e = this, f = this.tip (), g = this.getUID (this.type), this.setContent (), f.attr ("id", g), điều này. $ element.attr ("aria- mô tả bằng ", g), this.options.animation && f.addClass (" fade "); var h =" function "== typeof this.options.placement? this.options.placement.call (this, f [0], this . $ element [0]: this.options.placement, i = / \ s? tự động? \ s? /i,j=i.test (h); j && (h = h.replace (i, "") ("bs." + this.type, this), thêm vào " , this.options.container? f.appendTo (th is.options.container): f.insertAfter (this. $ element), var k = this.getPosition (), l = f [0] .offsetWidth, m = f [0] .tuyệt tức, nếu (j) {var n = h, o = this.options.container? a (this.options.container): this. $ element.parent (), p = this.getPosition (o); h = "phía dưới" == h && k.bottom + m> p.bottom "top": "top" == h && k.top-m <p.top? "bottom": "right" == h && k.right + l> p.width? "left": "trái "== h && k.left-l <p.left?" right ": h, f.removeClass (n) .addClass (h)} var q = this.getCalculatedOffset (h, k, l, m); this.applyPlacement (q, h); var r = function () {var a = ehoverState; e. $ element.trigger ("shown.bs." + e.type), e.hoverState = null, "out" == a && e.leave (e)} a.support.transition && this $ tip.hasClass ("fade")? f.one ("bsTransitionEnd", r) .emulateTransitionEnd (c.TRANSITION_DURATION): r ()}}, c. prototype.applyPlacement = function (b, c) {var d = this.tip (), e = d [0] .offsetWidth, f = d [0] .offsetHeight, g = parseInt (d.css ("margin-top "), 10), h = parseInt (d.css (" margin-left "), 10); isNaN (g) && (g = 0), isNaN (h) && (h = 0), b.top = b.top + g, b.left = b.left + h, a.offset.setOffset (d [0], a.extend ({sử dụng: chức năng (a) {d.css ({đầu trang : Math.round (a.top)}}}}, b), 0), d.addClass ("in"), var i = d [0] .offsetWidth, j = d [0] .offsetHeight; "top" == c && j! = f && (b.top = b.top + fj); var k = this.getViewportAdjustedDelta (c, b, i, j); k.left? b.left + = k.left: b.top + = k.top; var l = / top | bottom / .test (c), m = l? 2 * k.left-e + i: 2 * k.top- f + j, n = l "offsetWidth": "offsetHeight"; d.offset (b), this.replaceArrow (m, d [0] [n], l)}, c.prototype.replaceArrow = chức năng (a , "b", "b", "b", "b", "b", "b", "b", "b", "c" , "")}, c.prototype.setContent = function () {var a = this.tip (), b = this.getTitle (); a.find ("tooltip-inner") [this.options.html ? "html": "text"] (b), a.removeClass ("biến mất ở dưới cùng bên trái bên phải")}, c.prototype.hide = function (b) {function d () {"in"! = e .hoverState && f.detach (), e. $ element.removeAttr ("aria-describedby") Kích hoạt ("hidden.bs." + e.type), b && b ()} var e = this, f = a (điều này. $ tip), g = a.Event ("hide.bs." + this.type), trả về giá trị này $ element.trigger (g), g.isDefaultPrevented ()? void 0: (f.removeClass ("in" ), a.support.transition && f.hasClass ("fade")? f.one ("bsTransiti onEnd ", d) .emulateTransitionEnd (c.TRANSITION_DURATION): d (), this.hoverState = null, this)}, c.prototype.fixTitle = function () {var a = this. $ phần tử; (a.attr ( "title") || "string"! = typeof a.attr ("data-original-title")) && a.attr ("data-original-title", a.attr ("title") || "") (), c.prototype.hasContent = function () {return this.getTitle ()}, c.prototype.getPosition = chức năng (b) {b = b || này. $ phần tử ; var c = b [0], d = "BODY" == c.tagName, e = c.getBoundingClientRect (); null == e. chiều rộng: e.right-e.left, height: e.bottom-e.top}); var f = d? {top: 0, left: 0 }: b.offset (), g = {scroll: d? document.documentElement.scrollTop || document.body.scrollTop: b.scrollTop ()}, h = d? {width: a (window) .width () (a, b, c, d) {a, b, c, d} a, b, c, d} trả về "bottom" == a? {top: b.top + b.height, left: b.left + b.width / 2-c / 2}: "top" == a? {top: b.top- d, trái: b.left + b.width / 2-c / 2}: "left" == a? {top: b.top + b.height / 2-d / 2, trái: b.left-c }: {top: b.top + b.height / 2-d / 2, left: b.left + b.width}}, c.prototype.getViewportAdjustedDelta = chức năng (a, b, c, d) {var e = {top: 0, left: 0}; if (! this. $ viewport) return e; var f = this.options.viewport && this.options.viewport.padding || 0, g = this.getPosition (this. $ viewport ), if (/ right|left/.test (a)) {var h = b.top-fg.scroll, i = b.top + fg.scroll + d; h <g.top?e.top=g .top-h: i> g.top + g.height && (e.top = g.top + g.height-i)} else {var j = b.left-f, k = b.left + f + c ; j <g.left? e.left = g.left-j: k> g.width && (e.left = g.left + g.width-k)} return e}, c.prototype.getTi background = function () {var a, b = this. $ phần tử, c = this.options; trả về một = b.attr ("data-original-title") || ("function" == typeof c.title? c.title.call (b [0]): c.title)}, c.prototype.getUID = function (a) {do a + = ~~ (1e6 * Math.random ()), trong khi (document.getElementById ( a)), return a}, c.prototype.tip = function () {return this $ tip = this. $ tip || a (this.options.template)}, c.prototype.arrow = function () { trả về giá trị này $ arrow = this. $ arrow || this.tip () tìm thấy ("tooltip-arrow")}, c.prototype.enable = function () {this.enabled =! 0}, c.prototype .docable = function () {this.enabled =! 1}, c.prototype.toggleEnabled = function () {this.enabled =! this.enabled}, c.prototype.toggle = chức năng (b) (var c = this ; b && (c = a (b.currentTarget) .data ("bs." + this.type), c || (c = new this.constructor (b.currentTarget, this.getDelegateOptions ()), a (b. currentTarget) .data ("bs." + this.type, c))), c.tip () .Class ("in")? c.leave (c): c.enter (c)}, c.prototype .destroy = function () {var a = this; clearTimeout (this.timeout), this.hide (function () {a. $ element.off ("." + a.type) .removeData ("bs." + a.type)})}; var d = a.fn.toolt ip; a.fn.tooltip = b, a.fn.tooltip.Constructor = c, a.fn.tooltip.noConflict = function () {trả về a.fn.tooltip = d, this}} (jQuery), + chức năng (a) {"use strict", function b (b) {return this.each (function () {var d = a (this), e = d.data ("bs.popover"), f = "đối tượng" == typeof b && b, (e ||! / destroy | hide / .test (b)) && (e || d.data ("bs.popover", e = new c (this, f)), "string" == typeof b && e [b] ())}}} var c = function (a, b) {this.init ("popover", a, b)}; if (! a.fn.tooltip) đưa ra lỗi mới "Popover require tooltip.js"); c.VERSION = "3.3.4", c.DEFAULTS = a.extend ({}, a.fn.tooltip.Constructor.DEFAULTS, {placement: "right", kích hoạt: " click ", nội dung:" ", template: '<div class =" popover "role =" tooltip "> <div class =" mũi tên "> </ h3> <h3 class =" popover-title "> </ h3> <div class = "story_text"> </ div> </ div> '), c.prototype = a.extend ({}, a.fn.tooltip.Constructor.prototype), c.prototype.constructor = c, c.prototype.getDefaults = function () {return c.DEFAULTS}, c.prototype.setContent = function () {var a = this.tip (), b = this.getTitle (), c = this.getContent (); a.find (".document-popover") [this.options.html? "ht ml ":" text "] (b), a.find (" .windows-content ") children () .drewach () end () [this.options.html?" string "== typeof c?" html ":" append ":" text "] (c), a.removeClass (" giảm dần trên dưới cùng bên trái bên phải "), a.find (" .document ") .html () || a.find ( ".option-title"). hide ()}, c.prototype.hasContent = function () {return this.getTitle () || this.getContent ()}, c.prototype.getContent = function () {var a = "this.options; return a.attr (" data-content ") || (" function "== typeof b.content? b.content.call (a [0]): b. content)}, c.prototype.arrow = function () {return this. $ arrow = this. $ arrow || this.tip () tìm thấy (".")}; var d = a.fn.popover; a.fn.popover = b, a.fn.popover.Constructor = c, a.fn.popover.noConflict = function () {return a.fn.popover = d, this}} (jQuery), + function (a )}}}}}}}}}}}}}}}}}}}}}}}}}}}}} {} , this.options = a.extend ({}, b.DEFAULTS, d), this.selector = (this.options.target || "") + ".nav li> a", this.offsets = [] this.targets = [], this.activeTarget = null, this.scrollHeight = 0, (), this.process ()} function c (c) {return this.each (this.process, this)), this.refresh (), this.process ()} function c (c) (return this.each (this.process, this) ("bs.scrollspy"), e = d.data ("bs.scrollspy"), f = "đối tượng" == loại c && c, e || d.data ("bs.scrollspy", e = new b (this, f)), "string" == typeof c && e [c] ()})} b.VERSION = "3.3.4", b.DEFAULTS = {offset: 10}, b.prototype.getScrollHeight = function () {var b () {}}}}}}}}}}} {var b = this, c = "offset", d = 0, this.offsets = [], this.targets = [], this.scrollHeight = this.getScrollHeight (), a.isWindow (này $ scrollElement [0]) | () () () () {var b = a (this), e = b. data ("target") || b.attr ("href"), f = / ^ # ./. test (e) && a (e); trả lại f && f.length && f.is (": visible") && [[f (a, b) {trả về a [0] -b [0]}) each (function () {b.offsets .push (this [0]), b.targets.push (this [1])})}, b.prototype.process = function () {var a, b = this. $ scrollElement.scrollTop () + this.options.offset, c = this.getScrollHeight (), d = this.options.offset + c-this. $ scrollElement.height ( ), e = this.offsets, f = this.targets, g = this.activeTarget; if (this.scrollHeight! = c && this.refresh (), b> = d) return g! = (a = f [f.length -1]) && this.activate (a); if (g && b <e [0]) trả về this.activeTarget = null, this.clear (); for (a = e.length; a -;) g! = F [a] && b> = e [a] && (void 0 === e [a + 1] || b <e [a + 1]) && this.activate (f [a])}, b.prototype.activate = '' this.selector '', '+ this.selector +' [href = "'+ + ("li"), d = a (c) .parents ("li"). dropdown "), addClass (" active ")), d.trigger (" activate.bs.scrollspy ")}, b.prototype.clear = function () {a (this.selector) .parentsUntil (this.options.target , a.fn.scrollspy = c, a.fn.scrollspy.Constructor = b, a.fn.scrollspy.noConflict = b, a.fn.scrollspy.noConflict = b, a.fn.scrollspy.noConflict = function () {return a.fn.scrollspy = d, this}, a (window) .on ("loa d.bs.scrollspy.data-api ", function () {a ('[data-spy =" scroll "]') Mỗi ​​một hàm () {var b = a (this); c.call (b, () () () () () () () () () () () () () = "" ("bs.tab"); e || d.data ("bs.tab", e = new c (this)), "string" == typeof b && e [b] ()})} var c = function (b) {this.element = a (b)}; c.VERSION = "3.3.4", c.TRANSITION_DURATION = 150, c.prototype.show = function () {var b = this.element, c = b.closest ("ul: not (.dropdown-menu)"), d = b.data ("target"), nếu (d || (d = b.attr ("href"), d = d && d , "b.parent (" li ") hasClass (" active ")) {var e = c.find ( ". active: last a"), f = a.Event ("hide.bs.tab", {relatedTarget: b [0]}), g = a.Event ("show.bs.tab", {relatedTarget: e [0]}); nếu (e.trigger (f), b.trigger (g) ,!g.isDefaultPrevented () &&! f.isDefaultPrevented () & {var h = a (d); this.activate (b.closest ("li" ), this.activate (h, h.parent (), function () {e.trigger ({type: "hidden.bs.tab", relatedTarget: b [0]}), b.trigger ({ type: "shown.bs.tab", associatedTarget: e [0]})})}}}, c.prototype.activate = chức năng (b, d, e) {chức năng f () {g.removeClass ("hoạt động "") .find ("> .dropdown-menu> .active") removeClass ("active") kết thúc () tìm ('[data-toggle = "tab"]') attr ("aria-expanded" , (1), b.addClass ("active") Tìm ('[data-toggle = "tab"]') attr ("aria-expanded",! 0), h? (B [0] .offsetWidth , b.addClass ("in")): b.removeClass ("fade"), b.parent (".dropdown-menu") .dòng dài && b.closest ("li.dropdown") addClass ("active"). kết thúc () tìm thấy ('[data-toggle = "tab"]') attr ("aria-expanded",! 0), e && e ()} var g = d.find ("> .active"), h = e && a.support.transition && (g.length && g.hasClass ("fade") || !! d.find ("> .fade"). Length); g.length && h? g.one ("bsTransitionEnd", f). emulateTransitionEnd (c.TRANSITION_DURATION): f (), g.removeClass ("in")}; var d = a.fn.tab; a.fn.tab = b, a.fn.tab.Const Cú pháp: c = c, a.fn.tab.noConflict = function () {return a.fn.tab = d, this}; var e = function (c) {c.preventDefault (), b.call (a (this) , "show")}; a (document) .on ("click.bs.tab.data-api", '[data-toggle = "tab"]', e) .on ("click.bs.tab. data-api "," [data-toggle = "pill"] ', e)} (jQuery), + function (a) {"sử dụng nghiêm ngặt"; function b (b) {return this.each (function () { var d = a (this), e = d.data ("bs.affix"), f = "object" == typeof b && b, e || d.data ("bs.affix", e = new c (điều này , f)), "string" == typeof b && e [b] ()})} var c = function (b, d) {this.options = a.extend ({}, c.DEFAULTS, d), điều này. $ target = a (this.options.target) .on ("scroll.bs.affix.data-api", a.proxy (this.checkPosition, this)). vào ("click.bs.affix.data-api ", a.proxy (this.checkPositionWithEventLoop, this)), this. $ phần tử = a (b), this.affixed = null, this.unpin = null, this.pinnedOffset = null, this.checkPosition ()}; c .VERSION = "3.3.4", c.RESET = "đóng affix-top affix-bottom", c.DEFAULTS = {offset: 0, target: window}, c.prototype.getState = chức năng (a, b, c , if (null! = c), if (null! = c), if (null! = c). && "top" == this.affixed) return c> e "top": 1, if ("bottom" == this.affixed) return null! = c? e + this.unpin <= f.top? 1: "bottom": ad> = e + g? 1: "bottom"; var h = null == this.affixed, i = h? E: f.top, j = h? G: b; return null! = c && c> = e "top": null! = d && i + j> = ad? "bottom":! 1}, c.prototype.getPinnedOffset = function () {if (this.pinnedOffset) trả lại this.pinnedOffset , $ this.value (), this.example (), this.example (), this.example (); top-a}, c.prototype.checkPositionWithEventLoop = function () {setTimeout (a.proxy (this.checkPosition, this), 1)}, c.prototype.checkPosition = function () {if (this. $ element.is (": visible")) {var b = this. $ element.height (), d = this.options.offset, e = d.top, f = d.bottom, g = a (document.body) .height () = typeof d && (f = e = d), "function" == typeof e && (e = d.top (this. $ element)), "function" == typeof f && (f = d .bottom (this. $ element)); var h = this.getState (g, b, e, f), if (this.affixed! = h) (null! = this.unpin && this.profil.css ("top "," "); var i =" affix "+ (h?" - "+ h:" "), j = a.Event (i +" .bs.affix "this.getPin =" bottom "== h? this.getPinnedOffset (): null, this."), nếu (điều này $ element.trigger (j), j.isDefaultPrevented ()) return; this.affixed = h, this.unpin = "bottom" == h? $ element.removeClass (c.RESET) .addClass (i) .trigger (i.replace ("affix", "affixed") + ".bs.affix")} "bottom" == h && này. $ element.offset ( {top: gbf})}}; var d = a.fn.affix; a.fn.affix = b, a.fn.affix.Constructor = c, a.fn.affix.noConflict = function () {return a .fn.affix = d, this}, a (window) .on ("load", function () {a ('[data-spy = "affix"]'). Mỗi hàm () (var c = a (this), d = c.data (); d.offset = d.offset || {}, null! = d.offsetBottom && (d.offset.bottom = d.offsetBottom), null! = d.offsetTop && (d .offset.top = d.offsetTop), b.call (c, d)})})} (jQuery);

Câu trả lời:

Kiểm tra vườn rau thường xuyên

Thường xuyên kiểm tra vườn rau. Tần suất nhiều ít tùy thuộc vào tình hình thời tiết, khí hậu, mùa vụ gieo trồng và khu vực trồng rau.

Nếu phát hiện sâu và ổ trứng của sâu hại cần tiêu diệt ngay để tránh bùng phát dịch bệnh. Việc này đòi hỏi người trồng rau cần có kiến thức nhất định về các loài sâu hại để có thể phát hiện được.

Tạo môi trường cho côn trùng có ích (thiên địch) phát triển

Trong tự nhiên, luôn có một sự cân bằng nhất định về các loại côn trùng. Có côn trùng có ích và côn trùng gây hại. Tỷ lệ này luôn luôn tương đương nhau. Tùy vào nhiều yếu tố mà có thể sâu hại nhiều hơn thiên địch hay ngược lại. Mỗi loài sâu hại đều có những thiên địch của chúng. Do đó chúng ta cần tạo điều kiện để thiên địch phát triển hơn số sâu hại có trong vườn. Khi đó việc trồng rau sẽ đỡ vất vả hơn.

Theo thống kê, có hơn 100 họ côn trùng (sâu hại) như nhện, rầy mềm, rệp… Những loài côn trùng này có thể làm thức ăn cho những loài côn trùng (thiên địch) có ích khác như các loài bọ rùa, kiến ba khoang, chuồn chuồn, bọ ngựa, các loài ong,...

Do vậy, việc tạo điều kiện cho các loài thiên địch này phát triển bằng cách trồng các loài hoa thiên nhiên như cỏ ba lá, cỏ linh lăng, hoa soi nhái… xung quanh vườn hay chỗ trống gần vườn rau để kích thích sự phát triển của côn trùng có ích đến tiêu diệt sâu hại.

=

Bẫy cây trồng

Trồng một số cây cỏ không quan trọng gần vườn rau để nhử côn trùng tập trung vào nhằm giảm áp lực gây hại cho rau. Sau đó tiêu diệt những cây nhử này khi côn trùng tập trung mật độ cao, gây hại nhiều bằng các loại bẫy côn trùng như phenon,... sẽ dễ hơn rất nhiều so với phải diệt côn trùng trong toàn vườn rau.

Điều chỉnh thời vụ gieo trồng

Người trồng rau cần có kiến thức nhất định về các loại côn trùng, về đặc điểm gây hại của côn trùng đặc biệt là thời điểm bùng phát, gây hại của từng loại côn trùng trong năm. Ví như côn trùng chuyên phát triển mạnh vào mùa hè, côn trùng chuyên phát triển và gây hại vào mùa đông,...

Khi nắm rõ đặc điểm này rồi thì việc chọn thời vụ để gieo trồng sẽ hạn chế rất tốt sâu bệnh hại.

Trồng xen nhiều loài rau, luân canh khi cần

Xen canh là kỹ thuật trồng từ 2 đến nhiều loại rau trong một khu vực trong cùng thời vụ. Để trồng xen, người trồng cần nắm vững đặc điểm của một số loại rau.

Luân canh là kỹ thuật trồng mỗi vụ một loại rau khác nhau trên cùng chân đất trồng nhằm ngăn côn trùng bùng phát mật số cao gây hại trên một loại rau. Các loại rau này cần khác họ; như mùa này trồng cải bắp, xu hào thì vụ sau cần trồng họ khác như rau bầu, bí hay đậu, cà...