2013-09-13 1 views
0

Привет, я новичок в Сенча. См. Мой код нижедобавить прослушиватель для нескольких элементов sencha touch

Ext.define('blackbutton.view.Login.Login', { 
extend: 'Ext.Container', 
xtype: 'loginview', 
id:'loginview', 
requires: [  
    'Ext.field.Password', 
    'blackbutton.store.Login.LoginLS' 
], 

config: { 
    style: 'background-color:#0B0B0C', 
    cls: 'core', 
    scrollable: {direction: 'vertical', directionLock: true}, 
    html  : '<section class="nt_contentWrap">'+ 

    ' <img src="resources/images/profile_header_signup.jpg" width="320" height="142" alt=""/> <br>'+ 
     '<br>'+ 
     '<span class="title"> Login   </span> '+ 
    ' <ul class="ul-na">'+ 
      ' <li><input type="text" placeholder="Email" name="bbid"></li>'+ 

      ' <li>'+ 
    ' <input type="text" placeholder="Password" maxlength="11" name="bbpassword"></li>'+ 
'</ul>'+ 


'<button type="signup" id="login">Log In</button>'+ 
'<button type="signup" id="sigup" >Sign up</button>'+ 




'</section>', 

    listeners : [ 
     { 
      element : 'element', 
      delegate : 'button#sigup', 
      tap  : function() { 
       alert('test'); 
      } 
     }, 
     { 
      element : 'element', 
      delegate : 'button#login', 
      tap  : function() { 
       alert('login'); 
      } 
     } 

    ] 
    } 

    }); 

Мне нужно добавить слушателя на две кнопки. Это кнопка регистрации и кнопка входа в систему. Событие с краном похоже на отсутствие огня.

Однако, если я добавляю слушателя только для одной кнопки.

listeners : 
{ 
    element : 'element', 
    delegate : 'button#sigup', 
    tap  : function() { 
     alert('test'); 
    } 
} 

Кран событий для кнопки регистрации способен стрелять. Есть идеи?

ответ

1

Вы можете сделать следующий трюк в соответствии с целевым ID

listeners: { 
    tap: { 
       element: 'element', 
       delegate: ['button#sigup', 'button#login'], 
       fn: "DoSomething" 
     } 

} 


//..... 

function DoSomething(e){ 
    if (e.target.id=="sigup"){ 
    //signup 
    } 
    else{ 
    //login 
    } 
}