JavaScript モーダルを使用する代わりに、独自のモーダルを作成できます。jQuery UI ダイアログを使用することもできますが、それほど難しくありません。
また、これらのさまざまな種類のイベントのすべてにバインドしているという事実により、一部のイベントが不適切に複数回発生する可能性があります。単純なデータ フラグを使用して、既にユーザーに警告を行っているかどうかを確認できます。
$('#email').bind('DOMAttrModified textInput input change keypress paste', function (e) {
var $this = $(this);
if ($this.val().match(/[\s]/g) && !$this.data('spacedout')) {
$this.data('spacedout', true);
$("<div>").appendTo("body").css({
position: 'fixed',
width: '100%',
height: '100%',
backgroundColor: 'black',
opacity: '0.7',
top: 0,
left: 0
}).append($("<div style='color: red;'>Spaces not allowed<br><input type=submit value=OK></div>").on('click', function () {
$this.data('spacedout', false).trigger('focus');
$(this).parent().remove();
}));
$this.trigger('blur');
}
});
http://jsfiddle.net/ExplosionPIlls/HwYdF/