Opened 7 years ago

Closed 7 years ago

#16999 closed defect (fixed)

[regression] dojo.touch fails on Android 2.3

Reported by: haysmark Owned by: Eric Durocher
Priority: undecided Milestone: 1.9
Component: DojoX Mobile Version: 1.9.0b2
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by haysmark)

See:

http://archive.dojotoolkit.org/nightly/checkout/dojox/mobile/tests/test_ajax-html.html

In Android 2.3 Browser, press External View #1. In the kernel log, you will get an error:

E/browser ( 6204): Console: Uncaught TypeError: Object #<a MouseEvent> has no method 'stopImmediatePropagation; http://.../dojo/touch.js:116

Fortunately that is indeed the correct line number:

if(!e._dojo_click &&
		(new Date()).getTime() <= clickTime + 1000 &&
		!(e.target.tagName == "INPUT" && domClass.contains(e.target, "dijitOffScreen"))){
	e.stopPropagation();
	e.stopImmediatePropagation();
	if(type == "click" && (e.target.tagName != "INPUT" || e.target.type == "radio" || e.target.type == "checkbox")
		&& e.target.tagName != "TEXTAREA"){
		 // preventDefault() breaks textual <input>s on android, keyboard doesn't popup,
		 // but it is still needed for checkboxes and radio buttons, otherwise in some cases
		 // the checked state becomes inconsistent with the widget's state
		e.preventDefault();
	}
}

[28041] introduced has("event-stopimmediatepropogation"), which should wrap the call to stopImmediatePropagation, but it is not happening.

Change History (4)

comment:1 Changed 7 years ago by haysmark

Description: modified (diff)

comment:2 Changed 7 years ago by haysmark

Description: modified (diff)

comment:3 Changed 7 years ago by bill

Milestone: tbd1.9
Summary: dojo.touch fails on Android 2.3[regression] dojo.touch fails on Android 2.3

comment:4 Changed 7 years ago by Eric Durocher

Resolution: fixed
Status: newclosed

In [31213]:

fixes #16999, ref #15878. Test existence of the stopImmediatePropagation method, which is not available in Android 2.x. !strict.

Note: See TracTickets for help on using tickets.