2012-04-23 2 views
0

Я хотел отключить событие datetimebox (_onBlur). Он упоминается в файле «TextBox.js». «dojo.disconnect» работает с настраиваемыми событиями, которые я определяю в своем javascript. Но я хочу сделать то же самое для виджета dojo. Я не могу отключить объявленные события (_onBlur) в виджетах dojo (Textbox.js).disconnect dojo event of datetimebox

Ниже приведена декларация в виде виджета Textbox.js .. как я должен объявить об отключении события, что ниже событие никогда не вызывает ??? .. снова под кодом из виджета & это не мой код .. с помощью dojo.disconnect я могу отключить события, объявленные в моем пользовательском файле, но расслоения плотного я м не в состоянии отключить такие события, как показано ниже объявлено в виджете файл, который расслоение плотного поставляется с библиотекой додзё .. пожалуйста, предложить

_onBlur: функции (е) {

 this._setBlurValue(); 

this.inherited (arguments);

 if(this._selectOnClickHandle){ 
      this.disconnect(this._selectOnClickHandle); 
     } 
     if(this.selectOnClick && dojo.isMoz){ 
      this.textbox.selectionStart = this.textbox.selectionEnd = undefined; // clear selection so that the next mouse click doesn't reselect 
     } 

     this._updatePlaceHolder(); 

}, 

Саймон, я хочу, потому что это выгодно иметь его, когда мы хотим переопределить додзё встроенные события с нашими собственными пользовательскими событиями. Например, когда вы используете сетку dojo и используете стрелку (вверх, вправо, вниз ..), ячейка подсвечивается (пунктирная линия окружает ячейку), указывающую текущую ячейку ... теперь, если вы хотите отключить, т. Е. Удерживайте ячейку, некоторое время позволяет сказать, что вы отображаете редактирование/текст на этой ячейке, но если пользователь снова пытается нажимать клавишу со стрелкой, вы увидите, что пунктирная линия по-прежнему вращается вокруг, которой вы не хотите ... проще всего отключить/отключить событие в этом случай, связанный с сеткой, является «doKeyEvent», который слушает ключевое событие и делает hghlgt ячейки. Я достиг этого путем нажатия клавиш & других событий, чтобы противодействовать или аннулировать, что сетка делает, но все же ... проще всего отключить/отключить эту сами сетчатые события & позволяют сосредоточиться на бизнес-событиях & логический код, а не пытаться кодировать события, которые по умолчанию являются компонентом додзё, которые могут быть полезны для какого-то бизнеса не для всех .. этот счетчик событий h как и для других компонентов, а также

ответ

0

Dojo disconnect будет работать только с событиями, добавленными dojo.connect. Я не думаю, что вы можете делать то, что пытается сделать ур. Зачем вам это нужно, возможно, есть еще один способ решения проблемы ура?

0

Как отметил Саймон, Dojo disconnect будет работать только с событиями, добавленными dojo.connect.

Но решение вашей проблемы может быть, чтобы переопределить функцию onBlur(), поэтому он не будет выполнять, например:

this.onBlur = function(){ 
    return false; 
}