# Trigger # Action Action to be triggered to Execultar the event. * Attributes (optional) * Name: string - name attribute * Type: option - type attribute * Function: string - function that will dynamically capture the value of the attribute. ### Example ``` sh Javascript  return Funifier ._ $ ('# age') val ().; ``` # Event Event Type to be monitored # Selector Element will be done bind the event. Page (s) that will be monitoring the event. # Pre Script (optional) Function performed prior to bind the element. Available variables: - Element: element gift - Trigger: object     * _id: **String** - Required     * Name: **String**     * Actions:**array**     * Trigger: **string ('click', 'pageview' ...)**     * Selector: **String** - Required     * Page: s**String** - Required     * Pre_script: s**String** - Required     * Port_script: **String** - Required     * Pre_validation_script: **String** - Required ### Example If the element to be rendered via ajax, one can create a function to make the track manually. `` `Javascript  Funifier ._ $ ('body'). On ('click', trigger.selector, function () {     Funifier.track ({action: trigger._id, TRIGGER_TYPE: 'TRIGGER_HTML'});  }); `` ` - Note 1: As we are traqueando the id of the trigger must inform the trigger type as trigger_html, but the server will interpret the id as the id action. - Note 2: If you do the track manually, you must retonar false in pre validate to avoid unexpected behavior, as more than once traquear the same event. # Pre Validity (optional) -Validation function performed before being made the track, waiting for the return of a boolean if the false seje return will not be made the track. - Available variables: - Element: element gift - Trigger: object     * _id: **String** - Required     * Name: **String** - Required     * Actions: **String** - Required     * Trigger: **string ('click', 'pageview' ...)**     * Selector: **String** - Required     * Page: **String** - Required     * Pre_script: **String** - Required     * Port_script: string,     * Pre_validation_script: string ### Example `` `Javascript  var value = Funifier ._ $ ('# name') val ().;  if (value.length> 0) {  // Blank field will not be made the track  return false; } return true; `` ` # Post Script (optional) Function performed after the track. - Available variables: - Trigger: object     * _id: **String** - Required     * Name: **String** - Required     * Actions: **array**     * Trigger: **string ('click', 'pageview' ...)**     * Selector: **String** - Required     * Page: **String** - Required     * Pre_script: **String** - Required     * Port_script: **String** - Required     * Pre_validation_script: **String** - Required ### Example `` `Javascript  alert ('traqueada action'); `` ` - Note: In some cases these function can not be performed, depending on the context, such as in a page redirection. # Run only client - If the event seje "Page View", you can cancel the track on the server of the shares in order to run any script as traquear manually. # Name (Optional) Name for reference in the studio - Variáveis disponíveis: - element : dom element - trigger : object * _id : **String** - Required * name : **String** - Required * actions : **array** * trigger : **string ('click','pageview' ...)** * selector : **String** - Required * page : string, * pre_script : **String** - Required * port_script : **String** - Required * pre_validation_script : **String** - Required ### Example - Caso o elemento seja renderizado via ajax, pode-se criar uma função para fazer o track manualmente. ```javascript Funifier._$('body').on('click',trigger.selector,function(){ Funifier.track({action:trigger._id,trigger_type: 'TRIGGER_HTML'}); }); ``` - Observação1: Como estamos traqueando o id da trigger devemos informar o trigger type como trigger_html, senão o servidor irá interpretar o id como id da action. - Observação2: Caso você faça o track manualmente, você deve retonar false no pre validate, para evitar comportamentos inesperados, como traquear mais de uma vez o mesmo evento. # Pré Validade (opcional) Função de validação executada antes de ser efetuado o track, espera o retorno de um boolean, caso o retorno seje falso não será feito o track. - Variáveis disponíveis: - element : dom element - trigger : object * _id : **String** - Required * name : **String** - Required * actions : **array** * trigger : **string ('click','pageview' ...)** * selector : **String** - Required * page : **String** - Required * pre_script : **String** - Required * port_script : **String** - Required * pre_validation_script : **String** - Required ### Example ```javascript var value= Funifier._$('#name').val(); if(value.length>0){ //Campo em branco, não será feito o track return false; } return true; ``` # Post Script (opcional) Função executada depois do track. - Variáveis disponíveis: - trigger : object * _id :**String** - Required * name : **String** - Required * actions : **array** * trigger : **string ('click','pageview' ...)** * selector : **String** - Required * page : **String** - Required * pre_script : **String** - Required * port_script : **String** - Required * pre_validation_script : **String** - Required ### Example ```javascript alert('Acão traqueada'); ``` - Observação: Em alguns casos essas função pode não ser executada, dependendo do contexto, como por exemplo em um redirecionamento de pagina. # Run only client - Caso o evento seje "Page View", pode-se cancelar o track no servidor das ações para poder executar algum script como traquear manualmente. # Name (opcional) - Nome para referencia dentro do studio.