+function ($) {
'use strict';
// ALERT CLASS DEFINITION
// ======================
var dismiss = '[data-dismiss="alert"]'
var Alert = function (el) {
$(el).on('click', dismiss, this.close)
}
Alert.VERSION = '3.3.7'
Alert.TRANSITION_DURATION = 150
Alert.prototype.close = function (e) {
var $this = $(this)
var selector = $this.attr('data-target')
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
}
var $parent = $(selector === '#' ? [] : selector)
if (e) e.preventDefault()
if (!$parent.length) {
$parent = $this.closest('.alert')
}
$parent.trigger(e = $.Event('close.bs.alert'))
if (e.isDefaultPrevented()) return
$parent.removeClass('in')
function removeElement() {
// detach from parent, fire event then clean up data
$parent.detach().trigger('closed.bs.alert').remove()
}
$.support.transition && $parent.hasClass('fade') ?
$parent
.one('bsTransitionEnd', removeElement)
.emulateTransitionEnd(Alert.TRANSITION_DURATION) :
removeElement()
}
// ALERT PLUGIN DEFINITION
// =======================
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.alert')
if (!data) $this.data('bs.alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this)
})
}
var old = $.fn.alert
$.fn.alert = Plugin
$.fn.alert.Constructor = Alert
// ALERT NO CONFLICT
// =================
$.fn.alert.noConflict = function () {
$.fn.alert = old
return this
}
// ALERT DATA-API
// ==============
$(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
}(jQuery);
//通过将作用域内的Alert类赋值给jQuery的alert对象的Constructor属性,在IIFE作用域外也可以使用Alert类,比如这行代码
var Alert = $.fn.alert.Constructor
<div class="alert"> <button type="button" class="close" data-dismiss="alert"></button> <strong>警告!</strong>你输入的项目不合法! </div>
//例子:下拉菜单.html <div class="btn-group"> <button type="button" class="btn btn-default" data-toggle="dropdown"> 我的书籍<span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="#">编程</a></li> <li><a href="#">设计</a></li> <li><a href="#">深入</a></li> </ul> </div>
+function($){
"use strict";
}(window.jQuery);
var dismiss = '[data-dismiss="alert"]';
var Alert = function(el) {
//传入元素,如果元素内部有dismiss上设置的自定义属性,则click事件会触发原型上的close方法
$(el).on('click',dismiss,this.close);
};
Alert.prototype.close = function(e) {
}
function Plugin(option) {
return this.each(function () {
var $this = $(this)
//获取存储的Alert对象,如果是第一次执行变量data的值为undefined
var data = $this.data('bs.alert')
//缓存没有,就new一个alert对象,存储在元素的jQuery对象上的‘bs.alert'数据字段
if (!data) $this.data('bs.alert', (data = new Alert(this)))
//支持传入方法名参数,执行该方法,这里就是data.close()
if (typeof option == 'string') data[option].call($this)
})
}
//jQuery插件的定义使用了标准的方式,在fn上进行扩展,在jQuery上定义alert插件
//保留其他插件的$.fn.alert代码(如果定义)以便在noConflict之后,可以继续使用改旧代码
//先备份之前插件的旧代码,以便在后面防冲突的时候使用
var old = $.fn.alert
$.fn.alert = Plugin
//在附加扩展之后,重新设置插件的构造器(即Constructor属性),这样就可以通过Constructor属性查询到插件的真实类函数,使用new操作符实例化的时候也不会出错
//js区分大小写,所以这里的Constructor只是一个普通属性,跟constructor不同,通过将作用域内的Alert类赋值给jQuery的alert对象的Constructor属性,在IIFE作用域外也可以使用Alert类
$.fn.alert.Constructor = Alert
$.fn.alert.noConflict = function() {
//恢复以前的代码
$.fn.alert = old
//将$.fn.alert.noConflict()设置为BootStrap的alert插件
return this
}
/*
ALERT DATA-API
这段JavaScript代码将click委托事件监听器绑定在document元素上,并给click事件赋予命名空间
jQuery将事件绑定在document文档对象上的好处,就是js事件代理的优点
*/
$(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)
$('.item').on('click', doThisCoolThing);
$('.item').on('click', doThisOtherCoolThing);
$('.item').trigger('click'); // 两个click事件都触发
$('.item').off('click'); // 两个click事件都解绑
$('.item').on('click.navigate', doThisCoolThing);
$('.item').on('click.notify', doThisOtherCoolThing);
$('.item').trigger('click.navigate'); // 只有带有navigate这个命名空间的方法才会触发
$('.item').off('click.notify'); // 只有带有notify这个命名空间的方法才会解绑
$('.item').on('click.navigate.notify', doThisCoolThing);
$('.item').trigger('click.navigate'); // 将触发click事件
$('.item').off('click.notify'); // 将解绑click事件
$("#myModal").modal();
$("#myModal").modal({keyboard:false});
$("#myModal").modal('show');
//命名空间为data-api的全部事件禁用
$(document).off('.data-api');
//禁用特定插件的默认行为,禁用该插件所在命名空间下事件即可
$(document).off('.alert.data-api');
//禁用该alert插件的click事件
$(document).off('click.alert.data-api');
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有