diff --git a/wagtail/wagtailadmin/static/wagtailadmin/js/page-editor.js b/wagtail/wagtailadmin/static/wagtailadmin/js/page-editor.js index 647e7295b..63ffc7d29 100644 --- a/wagtail/wagtailadmin/static/wagtailadmin/js/page-editor.js +++ b/wagtail/wagtailadmin/static/wagtailadmin/js/page-editor.js @@ -261,8 +261,20 @@ function initSlugAutoPopulate(){ } function initSlugCleaning(){ - $('#id_slug').on('keyup blur', function(){ - $(this).val(cleanForSlug($(this).val())); + $('#id_slug').on({ + 'blur': function(){ + $(this).val(cleanForSlug($(this).val())); + }, + 'keyup': function(event){ + var keyCode = ('which' in event) ? event.which : event.keyCode; + if ( + (keyCode != 32) && // not spacebar + (keyCode != 8) && // not backspace + (keyCode != 46) && // not delete + ((keyCode < 40) ) // non-character + ) return ; + $(this).val(cleanForSlug($(this).val())); + } }); }