Howto place cursor after Add -> Page directly in Title-Field? (jQuery? AJS?)

Hello,

so often the users forget to fill in the Title of a page. It would be of great help, if after Add -> Page, the cursor would be placed in the title field and not in the WYSIWG-content-field (new editor).

I've been trying some "jQuery magic", but it's not working.

What's wrong?

I tried:

<script>
jQuery(document).ready(function() {
    // on add -> page, set focus on title, not on content
    jQuery("#content-title").focus();

    jQuery("#input:text:visible:first").focus(); 
});
</script>

Thanks for any suggestion,

Sven

7 answers

This widget could not be displayed.

Worked for me (tm). Is the JS definitely running? Try an alert or console.log statement,

This widget could not be displayed.

Thanks for trying!

Hmm. How I can do a console.log from javascript? Where did you put the code exactly?

(in the meanwhile I've a lot of jQuery-Hacks, maybe another "hack" is disabling this ;-)

This widget could not be displayed.

I just pasted it into the Chrome console... press f12. Or same in firefox with firebug...

This widget could not be displayed.

/EDIT

I've tested in Chrome and yes, there cursor "hops" for a millisecond to the title field (it clears the text "Please enter title") and then jumps back into the main edit field...

???

Looks like there is another mechanism which is stronger to bring the cursor back in the main edit field ;-/

/EDIT

yeah, I've inserted it into "Custom HTML - before end of head" - maybe that's too early? The new editor is in an iframe (but not the title), perhaps this is the reason?

Could you try to insert it there and tell me if it still works for you?

Thanks anyway!

This widget could not be displayed.

Ah yes, sounds like another dom ready handler is also setting focus. BTW I tried it on an older version, 3.4.9, maybe it's changed. You could try AJS.toInit(..) instead of AJS.$(). It's also possible with some javascript to make your handler fire last, but it's a bit of a pain...

This widget could not be displayed.

/EDIT

AJS.toInit() changed nothing ;-(

/EDIT

Ah yes... 4.x changed the whole editor thing. So this is the reason ;-)

Thanks for your suggestions, I'll try this... I've seen that the "new" editor sits in an iframe, does this change something? Maybe?

If you have suggestions (links to useful information) about how to make a handler fire at last, don't hesitate...

This widget could not be displayed.

try http://stackoverflow.com/questions/290254/how-to-order-events-bound-with-jquery or http://stackoverflow.com/questions/827107/jquery-mulitple-click-handlers-how-to-ensure-order-of-firing. You might be better off just making a source hack though. Also yeah, the iframe may change things, not sure...

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted Monday in Confluence

Why start from scratch? Introducing four new templates for Confluence Cloud

Hi my Community friends!  For those who don't know me, I'm a product marketer on the Confluence Cloud team - nice to meet you! For those of you who do, you know that I've been all up in your Co...

470 views 6 6
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you