From 712b89ed4ebe71e44f2a7081be7ba372d8ca3f42 Mon Sep 17 00:00:00 2001 From: fat Date: Sat, 17 Aug 2013 14:24:38 -0700 Subject: fixes #9362 --- js/modal.js | 4 +++- js/tests/unit/modal.js | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'js') diff --git a/js/modal.js b/js/modal.js index 1a692e6af..0b392d161 100644 --- a/js/modal.js +++ b/js/modal.js @@ -25,7 +25,7 @@ var Modal = function (element, options) { this.options = options - this.$element = $(element).on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + this.$element = $(element) this.$backdrop = this.isShown = null @@ -54,6 +54,8 @@ this.escape() + this.$element.on('click.dismiss.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this)) + this.backdrop(function () { var transition = $.support.transition && that.$element.hasClass('fade') diff --git a/js/tests/unit/modal.js b/js/tests/unit/modal.js index 2c610d83d..5755d2751 100644 --- a/js/tests/unit/modal.js +++ b/js/tests/unit/modal.js @@ -174,4 +174,23 @@ $(function () { }) .modal("show") }) + + test("should close reopened modal with [data-dismiss=modal] click", function () { + stop() + $.support.transition = false + var div = $("") + div + .bind("shown.bs.modal", function () { + $('#close').click() + ok(!$('#modal-test').is(":visible"), 'modal hidden') + }) + .one("hidden.bs.modal", function() { + div.one('hidden.bs.modal', function () { + start() + }).modal("show") + }) + .modal("show") + + div.remove() + }) }) -- cgit v1.2.3 From a10ec62f6372d6c99da286cb1af59c44e411c5a8 Mon Sep 17 00:00:00 2001 From: fat Date: Sat, 17 Aug 2013 15:05:59 -0700 Subject: fixes #9579 --- js/modal.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js') diff --git a/js/modal.js b/js/modal.js index 0b392d161..65eba481e 100644 --- a/js/modal.js +++ b/js/modal.js @@ -78,7 +78,7 @@ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget }) transition ? - that.$element + that.$element.find('.modal-dialog') // wait for modal to slide in .one($.support.transition.end, function () { that.$element.focus().trigger(e) }) -- cgit v1.2.3 From 1d53dd31f5a6c9be04177e251756909847e6fc0a Mon Sep 17 00:00:00 2001 From: fat Date: Sat, 17 Aug 2013 15:48:29 -0700 Subject: add role=menu to html --- js/dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js') diff --git a/js/dropdown.js b/js/dropdown.js index 69bbd802c..d675cab32 100644 --- a/js/dropdown.js +++ b/js/dropdown.js @@ -60,7 +60,7 @@ } Dropdown.prototype.keydown = function (e) { - if (!/(38|40|27)/.test(e.keyCode)) return + if (!/(9|38|40|27)/.test(e.keyCode)) return var $this = $(this) -- cgit v1.2.3 From d754e6564d8fd8fe1447ba6674eb9e041a6190b2 Mon Sep 17 00:00:00 2001 From: fat Date: Sat, 17 Aug 2013 15:54:42 -0700 Subject: add some crap --- js/dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js') diff --git a/js/dropdown.js b/js/dropdown.js index d675cab32..69bbd802c 100644 --- a/js/dropdown.js +++ b/js/dropdown.js @@ -60,7 +60,7 @@ } Dropdown.prototype.keydown = function (e) { - if (!/(9|38|40|27)/.test(e.keyCode)) return + if (!/(38|40|27)/.test(e.keyCode)) return var $this = $(this) -- cgit v1.2.3 From c0eabdda9fd8e97f44117bd4bd77dd1344039024 Mon Sep 17 00:00:00 2001 From: fat Date: Sat, 17 Aug 2013 16:11:05 -0700 Subject: fixes #9543 --- js/dropdown.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'js') diff --git a/js/dropdown.js b/js/dropdown.js index 69bbd802c..dc9716e2a 100644 --- a/js/dropdown.js +++ b/js/dropdown.js @@ -40,7 +40,7 @@ clearMenus() if (!isActive) { - if ('ontouchstart' in document.documentElement) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { // if mobile we we use a backdrop because click events don't delegate $('