aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJacob Thornton <[email protected]>2011-09-29 23:00:10 -0700
committerJacob Thornton <[email protected]>2011-09-29 23:00:10 -0700
commita0bf8b67ff4dd827f9298563616ecc519e7924c8 (patch)
tree2dd88b4990c0a3422979ad9b3be11c2fc5079c70 /js
parentb827303511d68fdb3f913aef63f97b5f77725d68 (diff)
downloadbootstrap-a0bf8b67ff4dd827f9298563616ecc519e7924c8.tar.xz
bootstrap-a0bf8b67ff4dd827f9298563616ecc519e7924c8.zip
change event to use target and relatedTarget (which more closely resembles actual event api)
Diffstat (limited to 'js')
-rw-r--r--js/bootstrap-tabs.js12
-rw-r--r--js/tests/unit/bootstrap-tabs.js36
2 files changed, 29 insertions, 19 deletions
diff --git a/js/bootstrap-tabs.js b/js/bootstrap-tabs.js
index 938a54cc0..e0286a364 100644
--- a/js/bootstrap-tabs.js
+++ b/js/bootstrap-tabs.js
@@ -27,10 +27,9 @@
function tab( e ) {
var $this = $(this)
- , href = $this.attr('href')
, $ul = $this.closest('ul')
- , $controlled
- , current = $ul.find('.active a').attr('href')
+ , href = $this.attr('href')
+ , previous
if (/^#\w+/.test(href)) {
e.preventDefault()
@@ -39,11 +38,16 @@
return
}
+ previous = $ul.find('.active a')[0]
$href = $(href)
activate($this.parent('li'), $ul)
activate($href, $href.parent())
- $this.trigger("change", { from: current, to: href })
+
+ $this.trigger({
+ type: 'change'
+ , relatedTarget: previous
+ })
}
}
diff --git a/js/tests/unit/bootstrap-tabs.js b/js/tests/unit/bootstrap-tabs.js
index 3c2610c51..1d024ecbb 100644
--- a/js/tests/unit/bootstrap-tabs.js
+++ b/js/tests/unit/bootstrap-tabs.js
@@ -51,21 +51,27 @@ $(function () {
+ '<li class="active"><a href="#home">Home</a></li>'
+ '<li><a href="#profile">Profile</a></li>'
+ '</ul>')
- , changeCount = 0
- , from
- , to;
-
- $tabsHTML.tabs().bind( "change", function (e, c){
- from = c.from;
- to = c.to;
- changeCount++
- })
-
- $tabsHTML.tabs().find('a').last().click()
-
- equals(from, "#home")
- equals(to, "#profile")
- equals(changeCount, 1)
+ , $target
+ , count = 0
+ , relatedTarget
+ , target
+
+ $tabsHTML
+ .tabs()
+ .bind( "change", function (e) {
+ target = e.target
+ relatedTarget = e.relatedTarget
+ count++
+ })
+
+ $target = $tabsHTML
+ .find('a')
+ .last()
+ .click()
+
+ equals(relatedTarget, $tabsHTML.find('a').first()[0])
+ equals(target, $target[0])
+ equals(count, 1)
})
}) \ No newline at end of file