不一样,#是跳转到锚点,没指定就跳到页面首行去了,javascript:;则是执行一个空的js命令,不会进行跳转,具体你给的网址都写的挺清楚了。我猜测原文的意思只是说要给a标签添加上href属性的意思吧,通过读取href="#"这个属性插件达到阻止跳转的目的。
另外这句话的原文是
iOS devices require an href="#" for click events if you would rather use an anchor.
继续补上Bootstrap的相关代码:
Alert.prototype.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)
e && e.preventDefault()
$parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
$parent.trigger(e = $.Event('close'))
if (e.isDefaultPrevented()) return
$parent.removeClass('in')
function removeElement() {
$parent
.trigger('closed')
.remove()
}
$.support.transition && $parent.hasClass('fade') ?
$parent.on($.support.transition.end, removeElement) :
removeElement()
}
如果我没看错以及理解错代码的话,加上href='#'的目的应该是用来判断是否弹窗标签而已吧。个人理解,如有错误恳请指正。