@@ -154,14 +154,14 @@ cc.EditBoxDelegate = cc.Class.extend({
154
154
* This method is called when an edit box gains focus after keyboard is shown.
155
155
* @param {cc.EditBox } sender
156
156
*/
157
- editBoxEditingDidBegan : function ( sender ) {
157
+ editBoxEditingDidBegin : function ( sender ) {
158
158
} ,
159
159
160
160
/**
161
161
* This method is called when an edit box loses focus after keyboard is hidden.
162
162
* @param {cc.EditBox } sender
163
163
*/
164
- editBoxEditingDidEnded : function ( sender ) {
164
+ editBoxEditingDidEnd : function ( sender ) {
165
165
} ,
166
166
167
167
/**
@@ -176,7 +176,7 @@ cc.EditBoxDelegate = cc.Class.extend({
176
176
* This method is called when the return button was pressed.
177
177
* @param {cc.EditBox } sender
178
178
*/
179
- editBoxEditingReturn : function ( sender ) {
179
+ editBoxReturn : function ( sender ) {
180
180
}
181
181
} ) ;
182
182
@@ -219,6 +219,8 @@ cc.EditBox = cc.Node.extend({
219
219
_placeholderFontSize : 14 ,
220
220
_placeholderColor : null ,
221
221
_className : 'EditBox' ,
222
+ _touchListener : null ,
223
+ _touchEnabled : true ,
222
224
223
225
/**
224
226
* constructor of cc.EditBox
@@ -238,16 +240,29 @@ cc.EditBox = cc.Node.extend({
238
240
this . createDomElementIfNeeded ( ) ;
239
241
this . initWithSizeAndBackgroundSprite ( size , normal9SpriteBg ) ;
240
242
241
- cc . eventManager . addListener ( {
243
+ this . _touchListener = cc . EventListener . create ( {
242
244
event : cc . EventListener . TOUCH_ONE_BY_ONE ,
243
245
swallowTouches : true ,
244
246
onTouchBegan : this . _onTouchBegan . bind ( this ) ,
245
247
onTouchEnded : this . _onTouchEnded . bind ( this )
246
- } , this ) ;
248
+ } ) ;
249
+ cc . eventManager . addListener ( this . _touchListener , this ) ;
247
250
248
251
this . setInputFlag ( this . _editBoxInputFlag ) ;
249
252
} ,
250
253
254
+ setTouchEnabled : function ( enable ) {
255
+ if ( this . _touchEnabled === enable ) {
256
+ return ;
257
+ }
258
+ this . _touchEnabled = enable ;
259
+ if ( this . _touchEnabled ) {
260
+ cc . eventManager . addListener ( this . _touchListener , this ) ;
261
+ } else {
262
+ cc . eventManager . removeListener ( this . _touchListener ) ;
263
+ }
264
+ } ,
265
+
251
266
_createRenderCmd : function ( ) {
252
267
if ( cc . _renderType === cc . game . RENDER_TYPE_CANVAS ) {
253
268
return new cc . EditBox . CanvasRenderCmd ( this ) ;
@@ -317,7 +332,21 @@ cc.EditBox = cc.Node.extend({
317
332
this . _renderCmd . _removeDomFromGameContainer ( ) ;
318
333
} ,
319
334
335
+ _isAncestorsVisible : function ( node ) {
336
+ if ( null == node )
337
+ return true ;
338
+
339
+ var parent = node . getParent ( ) ;
340
+
341
+ if ( parent && ! parent . isVisible ( ) )
342
+ return false ;
343
+ return this . _isAncestorsVisible ( parent ) ;
344
+ } ,
345
+
320
346
_onTouchBegan : function ( touch ) {
347
+ if ( ! this . isVisible ( ) || ! this . _isAncestorsVisible ( this ) ) {
348
+ return ;
349
+ }
321
350
var touchPoint = touch . getLocation ( ) ;
322
351
var bb = cc . rect ( 0 , 0 , this . _contentSize . width , this . _contentSize . height ) ;
323
352
var hitted = cc . rectContainsPoint ( bb , this . convertToNodeSpace ( touchPoint ) ) ;
@@ -331,6 +360,9 @@ cc.EditBox = cc.Node.extend({
331
360
} ,
332
361
333
362
_onTouchEnded : function ( ) {
363
+ if ( ! this . isVisible ( ) || ! this . _isAncestorsVisible ( this ) ) {
364
+ return ;
365
+ }
334
366
this . _renderCmd . _beginEditing ( ) ;
335
367
} ,
336
368
@@ -871,8 +903,8 @@ cc.EditBox.create = function (size, normal9SpriteBg, press9SpriteBg, disabled9Sp
871
903
thisPointer . _updateDomTextCases ( ) ;
872
904
873
905
thisPointer . _endEditing ( ) ;
874
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingReturn ) {
875
- editBox . _delegate . editBoxEditingReturn ( editBox ) ;
906
+ if ( editBox . _delegate && editBox . _delegate . editBoxReturn ) {
907
+ editBox . _delegate . editBoxReturn ( editBox ) ;
876
908
}
877
909
cc . _canvas . focus ( ) ;
878
910
}
@@ -888,17 +920,17 @@ cc.EditBox.create = function (size, normal9SpriteBg, press9SpriteBg, disabled9Sp
888
920
thisPointer . _onFocusOnMobile ( editBox ) ;
889
921
}
890
922
891
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidBegan ) {
892
- editBox . _delegate . editBoxEditingDidBegan ( editBox ) ;
923
+ if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidBegin ) {
924
+ editBox . _delegate . editBoxEditingDidBegin ( editBox ) ;
893
925
}
894
926
} ) ;
895
927
tmpEdTxt . addEventListener ( 'blur' , function ( ) {
896
928
var editBox = thisPointer . _editBox ;
897
929
editBox . _text = this . value ;
898
930
thisPointer . _updateDomTextCases ( ) ;
899
931
900
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidEnded ) {
901
- editBox . _delegate . editBoxEditingDidEnded ( editBox ) ;
932
+ if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidEnd ) {
933
+ editBox . _delegate . editBoxEditingDidEnd ( editBox ) ;
902
934
}
903
935
904
936
if ( this . value === '' ) {
@@ -962,8 +994,8 @@ cc.EditBox.create = function (size, normal9SpriteBg, press9SpriteBg, disabled9Sp
962
994
thisPointer . _onFocusOnMobile ( editBox ) ;
963
995
}
964
996
965
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidBegan ) {
966
- editBox . _delegate . editBoxEditingDidBegan ( editBox ) ;
997
+ if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidBegin ) {
998
+ editBox . _delegate . editBoxEditingDidBegin ( editBox ) ;
967
999
}
968
1000
969
1001
} ) ;
@@ -973,8 +1005,8 @@ cc.EditBox.create = function (size, normal9SpriteBg, press9SpriteBg, disabled9Sp
973
1005
if ( e . keyCode === cc . KEY . enter ) {
974
1006
e . stopPropagation ( ) ;
975
1007
976
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingReturn ) {
977
- editBox . _delegate . editBoxEditingReturn ( editBox ) ;
1008
+ if ( editBox . _delegate && editBox . _delegate . editBoxReturn ) {
1009
+ editBox . _delegate . editBoxReturn ( editBox ) ;
978
1010
}
979
1011
}
980
1012
} ) ;
@@ -983,8 +1015,8 @@ cc.EditBox.create = function (size, normal9SpriteBg, press9SpriteBg, disabled9Sp
983
1015
editBox . _text = this . value ;
984
1016
thisPointer . _updateDomTextCases ( ) ;
985
1017
986
- if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidEnded ) {
987
- editBox . _delegate . editBoxEditingDidEnded ( editBox ) ;
1018
+ if ( editBox . _delegate && editBox . _delegate . editBoxEditingDidEnd ) {
1019
+ editBox . _delegate . editBoxEditingDidEnd ( editBox ) ;
988
1020
}
989
1021
990
1022
if ( this . value === '' ) {
0 commit comments