WordPress.org

Make WordPress Core

#20879 closed defect (bug) (fixed)

Customizer: Add keyup events to sync textarea values.

Reported by: koopersmith Owned by: koopersmith
Priority: normal Milestone: 3.4
Component: Appearance Version: 3.4
Severity: normal Keywords: has-patch commit
Cc:

Description

We automatically sync text inputs with their js objects using keyup, but were not syncing for textarea. We should be doing both.

Attachments (2)

20879.diff (481 bytes) - added by koopersmith 13 months ago.
20879.2.diff (971 bytes) - added by koopersmith 13 months ago.

Download all attachments as: .zip

Change History (8)

koopersmith13 months ago

comment:1 koopersmith13 months ago

Since we don't have any controls in core with textareas, here's an easy way to test the patch.

  1. Navigate to yoursite.com/wp-admin/customize.php
  2. Open up your browser's JS console.
  3. Drop this code block in the console:
    var textarea = jQuery('<textarea>').appendTo('#customize-theme-controls');
    var element = new wp.customize.Element( textarea );
    element.bind( function() {
    	console.log('element changed', arguments);
    });
    
  4. Click inside the new textarea in the sidebar and type some text.
  5. Click somewhere outside of the textarea.

With the patch, you should see the value changing in the console as you type. Without the patch, you'll only see a change when you click out of the textarea (triggering a change event).

comment:2 ocean9013 months ago

Looks good.

comment:3 azaozz13 months ago

Typing "Enter" in the textarea is disabled (no new line) as Enter/Return is globally caught by $('#customize-controls').on( 'keydown',... L:575 in customize-controls.dev.js.

Perhaps exclude textareas by checking e.target there?

Last edited 13 months ago by azaozz (previous) (diff)

koopersmith13 months ago

comment:4 koopersmith13 months ago

Good catch, Andrew. This patch should allow enter to be pressed in textareas.

comment:5 azaozz13 months ago

  • Keywords commit added

2.diff works well.

comment:6 ryan13 months ago

  • Resolution set to fixed
  • Status changed from new to closed

In [21024]:

Customizer: Add keyup events to sync textarea values. Props koopersmith. fixes #20879

Note: See TracTickets for help on using tickets.