バインドとバインド解除のクリックを使用してみてください。必ずしも属性を気にする必要はありません。
function graphicalAppConfirm() {
var graphical = $('#application_graphical').is(':checked');
if (graphical == true) {
$('.default_action').click(function() { return confirm('This setting cannot be undone. Are you sure you wish to continue?'); });
} else {
$('.default_action').unbind('click');
}
}
jQuery 1.7+ を使用している場合は、バインド/アンバインドではなく、オン/オフをお勧めします。ドキュメントを参照してください http://api.jquery.com/off/
更新: これは、独自の使用法に合わせて変更できる jQuery 1.8 の例です。チェックボックスが変更されたときにオン/オフ機能を実行したい場合があるため、この例はそのように機能します。
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
</head>
<body>
<button id="theone">Does nothing...</button>
<label for="check"><input id="check" type="checkbox" />Enable Button</label>
<div id="output" style="display:none;">Click registered.</div>
<script>
function callback() {
$("#output").show().fadeOut("slow");
}
$("#check").change(function() {
if (this.checked) {
$("body").on("click", "#theone", callback)
.find("#theone").text("Click Me Enabled!");
} else {
$("body").off("click", "#theone", callback)
.find("#theone").text("Click Me Disabled");
}
});
</script>
</body>
</html>
そこから残りを把握できます。IE 8 http://jsbin.com/ojejar/6でテストして動作することを確認できます。