it-swarm.com.de

So verwenden Sie benutzerdefinierte Ajax-Befehle für Elemente mit InvokeCommand

Wie kann ich einen benutzerdefinierten Ajax-Befehl mit #ajax api verwenden? Der folgende Code funktioniert gut

        $ajax_response = new AjaxResponse();                
        $ajax_response->addCommand(new InvokeCommand('#edit-event-trigger', 'attr', array('disabled',true)));
        $ajax_response->addCommand(new InvokeCommand('#edit-event-trigger', 'removeAttr', array('placeholder')));
        $ajax_response->addCommand(new InvokeCommand('#edit-event-trigger', 'css',array("background-color", "")));
        //Return the AjaxResponse Object.
        return $ajax_response;

Aber nehmen wir an, ich möchte focus() oder hide() das edit-event-trigger Element , wie könnte ich das machen

3
Crazyrubixfan

Dies sind einige Beispiele, die Sie ausprobieren können:

$response->addCommand(new \Drupal\Core\Ajax\InvokeCommand('.message', 'addClass', array('show')));
$response->addCommand(new \Drupal\Core\Ajax\InvokeCommand('.message', 'removeClass', array('show')));
$response->addCommand(new \Drupal\Core\Ajax\InvokeCommand('.message', 'attr', array('value', '123')));
$response->addCommand(new \Drupal\Core\Ajax\HtmlCommand('.message', "Show this text"));
$response->addCommand(new \Drupal\Core\Ajax\InvokeCommand('.message', 'css', array('background', '#dff0d8')));

Frieden.

3
batMask