mirror of
https://github.com/twbs/bootstrap.git
synced 2025-09-29 06:49:06 +02:00
avoid preventing input event onclick (#30992)
* instead of stopping event if onclick is triggered on input, call toggle method only if its not on checkbox inside a label * add unit test * add a dedicated test to ensure click event is forward to label Co-authored-by: XhmikosR <xhmikosr@gmail.com>
This commit is contained in:
@@ -222,6 +222,46 @@ $(function () {
|
||||
assert.ok(!$btn2.find('input')[0].checked, 'btn2 is not checked')
|
||||
})
|
||||
|
||||
QUnit.test('should fire click event on input', function (assert) {
|
||||
assert.expect(1)
|
||||
var done = assert.async()
|
||||
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
||||
'<label class="btn btn-primary active">' +
|
||||
'<input type="checkbox" id="option1"> Option 1' +
|
||||
'</label>' +
|
||||
'</div>'
|
||||
var $group = $(groupHTML).appendTo('#qunit-fixture')
|
||||
|
||||
var $btn = $group.children().eq(0)
|
||||
$group.find('input').on('click', function (e) {
|
||||
e.preventDefault()
|
||||
assert.ok(true, 'click event fired')
|
||||
done()
|
||||
})
|
||||
|
||||
$btn[0].click()
|
||||
})
|
||||
|
||||
QUnit.test('should fire click event on label', function (assert) {
|
||||
assert.expect(1)
|
||||
var done = assert.async()
|
||||
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
||||
'<label class="btn btn-primary active">' +
|
||||
'<input type="checkbox" id="option1"> Option 1' +
|
||||
'</label>' +
|
||||
'</div>'
|
||||
var $group = $(groupHTML).appendTo('#qunit-fixture')
|
||||
|
||||
var $btn = $group.children().eq(0)
|
||||
$group.find('label').on('click', function (e) {
|
||||
e.preventDefault()
|
||||
assert.ok(true, 'click event fired')
|
||||
done()
|
||||
})
|
||||
|
||||
$btn[0].click()
|
||||
})
|
||||
|
||||
QUnit.test('should not add aria-pressed on labels for radio/checkbox inputs in a data-toggle="buttons" group', function (assert) {
|
||||
assert.expect(2)
|
||||
var groupHTML = '<div class="btn-group" data-toggle="buttons">' +
|
||||
|
Reference in New Issue
Block a user