Skip to content
Permalink
Browse files

Checkbox must not be all the way hidden for change to fire in IE. Swi…

…tched out .hide() for ui-helper-hidden-accessible class instead. Fixes #5261 - button change events don't fire in IE 7/8
  • Loading branch information...
rdworth committed Mar 11, 2010
1 parent ac138fc commit cef16fdf78eab604ebe58526e58f962c60ab9bdb
Showing with 42 additions and 1 deletion.
  1. +41 −0 tests/visual/button/button_ticket_5261.html
  2. +1 −1 ui/jquery.ui.button.js
@@ -0,0 +1,41 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Button Visual Test : Button ticket #5261</title>
<link rel="stylesheet" href="../visual.css" type="text/css" />
<link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css" type="text/css">
<script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
<script type="text/javascript" src="../../../ui/jquery.ui.button.js"></script>
<script type="text/javascript">
$(function() {
$('#id1').button().change(function(e) {
console.log('change', e);
});
$('#id1').bind('change', function(e) {
console.log('bound change', e);
});
$("body").live('change', function(e) {
console.log('live change on body', e);
});
$(document).delegate('input', 'change', function(e) {
console.log('delegated input change', e);
});
$(document).change(function(e) {
console.log('delegated change on document', e);
});
});
</script>
</head>
<body>

<h1 class="ui-widget-header"><a href="http://dev.jqueryui.com/ticket/5261">#5261 - button change events don't fire in IE 7/8</a></h1>

<input name="1" id="id1" type="checkbox"/>
<label for="id1">Checkbox</label>

</body>
</html>
@@ -159,7 +159,7 @@ $.widget( "ui.button", {

if ( this.type === "checkbox" || this.type === "radio" ) {
this.buttonElement = $( "[for=" + this.element.attr("id") + "]" );
this.element.hide();
this.element.addClass('ui-helper-hidden-accessible');

var checked = this.element.is( ":checked" );
if ( checked ) {

0 comments on commit cef16fd

Please sign in to comment.
You can’t perform that action at this time.