나는 부트 스트랩을 사용하고 난 그 jQuery 플러그인 bootstrap-alert.js
에보고 내가 아주 좋았지 코드는 아래 게시되지 수 :나를 위해 bootstrap-alert.js에 대해 설명합니까?
!function($){
"use strict"
/* ALERT CLASS DEFINITION
* ====================== */
var dismiss = '[data-dismiss="alert"]'
, Alert = function (el) {
$(el).on('click', dismiss, this.close)
}
Alert.prototype = {
constructor: Alert
, close: function (e) {
var $this = $(this)
, selector = $this.attr('data-target')
, $parent
if (!selector) {
selector = $this.attr('href')
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
}
$parent = $(selector)
$parent.trigger('close')
e && e.preventDefault()
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
$parent.removeClass('in')
function removeElement() {
$parent.remove()
$parent.trigger('closed')
}
$.support.transition && $parent.hasClass('fade') ?
$parent.on($.support.transition.end, removeElement) :
removeElement()
}
}
/* ALERT PLUGIN DEFINITION
* ======================= */
$.fn.alert = function (option) {
return this.each(function() {
var $this = $(this)
, data = $this.data('alert')
if (!data) $this.data('alert', (data = new Alert(this)))
if (typeof option == 'string') data[option].call($this)
})
}
$.fn.alert.Constructor = Alert
/* ALERT DATA-API
* ============== */
$(function() {
$('body').on('click.alert.data-api', dismiss, Alert.prototype.close)
})
}(window.jQuery)
이 훨씬 꽤 모든 플러그인 중 가장 쉬운 일입니다 given.What 이해가 안됩니다
무엇이 selector
입니까? data-target
은 어디에도 없습니다 ... 그럼, $this.attr('data-target')
은 무엇을합니까?
2.이 플러그인은 전체적으로 어떻게 작동합니까? 문서에서 말한 것처럼 세 부분으로 나뉘어져 상호 작용을합니다.
편집 :
functionremoveElement() { $parent.remove() $parent.trigger('closed') }
먼저 당신이 어떻게 든 당신이 사용하는 모든 정의되지 않은 함수를 호출 요소를 제거 : 또한 내가 아주 일부 understand.This하지 않는 것이 있습니다 이미 제거 된 객체입니다. closed
은 어디에 있습니까? 고마워, G
감사합니다 ~ 당신이 설명 할 수 어떤'경우 { } { } 선택자 = $ this.attr ('href') 선택기 = selector && selector.replace (/? * ($ =) /, '') 일부는 무엇입니까?나에게 그것은'a = "#"'와 같기 때문에 selector는'#'으로 끝납니다. 또한'$ parent.length || $ this.parent())'part.it는'if' 절에 쓰여질 수 있습니다, 맞습니까? 코드를 작성하는 것이 더 '관용적'입니까? (예 : $ parent = $ this.hasClass ('alert' 이것은'||'를 사용하여? – Gnijuohz
수정 사항보기 ...... – RoToRa