Index: /CKEditor/trunk/_source/plugins/smiley/dialogs/smiley.js
===================================================================
--- /CKEditor/trunk/_source/plugins/smiley/dialogs/smiley.js	(revision 3722)
+++ /CKEditor/trunk/_source/plugins/smiley/dialogs/smiley.js	(revision 3723)
@@ -99,5 +99,4 @@
 			// ENTER
 			// SPACE
-			case 13 :
 			case 32 :
 				onClick( { data: ev } );
@@ -160,5 +159,5 @@
 		html.push(
 			'<td class="cke_dark_background cke_hand cke_centered" style="vertical-align: middle;">' +
-				'<a href="#" class="cke_smile" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ', onKeydown, ', event, this );">',
+				'<a href="javascript:void(0)" class="cke_smile" tabindex="-1" onkeydown="CKEDITOR.tools.callFunction( ', onKeydown, ', event, this );">',
 					'<img class="hand" title="', config.smiley_descriptions[i], '"' +
 						' cke_src="', CKEDITOR.tools.htmlEncode( config.smiley_path + images[ i ] ), '" alt="', config.smiley_descriptions[i], '"',
Index: /CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js
===================================================================
--- /CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js	(revision 3722)
+++ /CKEditor/trunk/_source/plugins/specialchar/dialogs/specialchar.js	(revision 3723)
@@ -13,6 +13,9 @@
 	var onChoice = function( evt )
 	{
-		var target = evt.data.getTarget(),
-			value;
+		var target, value;
+		if ( evt.data )
+			target = evt.data.getTarget();
+		else
+			target = new CKEDITOR.dom.element( evt );
 
 		if ( target.getName() == 'a' && ( value = target.getChild( 0 ).getHtml() ) )
@@ -24,4 +27,6 @@
 	};
 
+	var onClick = CKEDITOR.tools.addFunction( onChoice );
+
 	var focusedNode;
 
@@ -133,7 +138,6 @@
 				ev.preventDefault();
 				break;
-			// ENTER
 			// SPACE
-			case 13 :
+			// ENTER is already handled as onClick
 			case 32 :
 				onChoice( { data: ev } );
@@ -255,6 +259,7 @@
 						html.push(
 							'<td class="cke_dark_background">' +
-							'<a href="#" style="display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="', chars[i].replace( /&/g, '&amp;' ), '"' +
+							'<a href="javascript: void(0);" style="display: block; height: 1.25em; margin-top: 0.25em; text-align: center;" title="', chars[i].replace( /&/g, '&amp;' ), '"' +
 							' onkeydown="CKEDITOR.tools.callFunction( ' + onKeydown + ', event, this )"' +
+							' onclick="CKEDITOR.tools.callFunction(' + onClick + ', this); return false;"' +
 							' tabindex="-1">' +
 							'<span style="margin: 0 auto;">' +
@@ -294,5 +299,4 @@
 								onMouseover : onFocus,
 								onMouseout : onBlur,
-								onClick : onChoice,
 								focus : function()
 								{
