2015-02-12 2 views
1

На сетке мне нужно прослушивать действия itemclick и itemkeydown, но когда я добавляю их оба в контроллер, ни один из них не запускается. В чем проблема в этом коде?Используйте разные события для одного и того же селектора в EXTJS

Как я могу прослушать событие нажатия клавиши в редакторе combobox сетки?

http://jsfiddle.net/WRXcw/3/

 'definitiontypeform dtpropertylist': { 
      itemclick: this.doSelectPropertyGrid 
     }, 
     'definitiontypeform dtpropertylist': { 
      itemkeydown: this.doAddInitial 
     }, 

ответ

0

Попробуйте следующее

'definitiontypeform dtpropertylist': { 
    itemclick: this.doSelectPropertyGrid, 
    itemkeydown: this.doAddInitial 
}, 

Вы можете добавить несколько событий, которые вы хотите прослушать в том же селекторе.

В вашем коде вы дважды добавляете ту же клавишу к объекту управления 'definitiontypeform dtpropertylist', что приводит к нежелательному поведению.


для вашей проблемы в fiddle

Я не могу слушать нажатия клавиши здесь. У меня есть пример jsfiddle для этого. как я могу слушать клавиатуру в редакторе combobox в сетке?

Добавить прослушиватель в конфигурацию редактора для интересующих вас событий, например.

listeners: { 
    keydown: function(){ 
     // your code ... 
    } 
} 

И не забудьте включить Keyevents для ComboBox.

enableKeyEvents: true 

Полный код должен быть

editor: { 
     ... 
     enableKeyEvents: true, 
     listeners: { 
      keydown: function(){ 
       // your code ... 
      } 
     } 
    }, 
+0

спасибо, что Энди был правильным, но теперь у меня есть еще одна проблема, я не могу слушать нажатия клавиши здесь. У меня есть пример jsfiddle для этого. как я могу слушать клавиатуру в редакторе combobox в сетке? – sina

Смежные вопросы