define("dojox/mobile/TextBox", [ "dojo/_base/declare", "dojo/dom-construct", "dijit/_WidgetBase", "dijit/form/_FormValueMixin", "dijit/form/_TextBoxMixin" ], function(declare, domConstruct, WidgetBase, FormValueMixin, TextBoxMixin){ return declare("dojox.mobile.TextBox",[WidgetBase, FormValueMixin, TextBoxMixin],{ // summary: // A non-templated base class for textbox form inputs baseClass: "mblTextBox", // Override automatic assigning type --> node, it causes exception on IE8. // Instead, type must be specified as this.type when the node is created, as part of the original DOM _setTypeAttr: null, // Map widget attributes to DOMNode attributes. _setPlaceHolderAttr: function(/*String*/value){ value = this._cv ? this._cv(value) : value; this._set("placeHolder", value); this.textbox.setAttribute("placeholder", value); }, buildRendering: function(){ if(!this.srcNodeRef){ this.srcNodeRef = domConstruct.create("input", {"type":this.type}); } this.inherited(arguments); this.textbox = this.focusNode = this.domNode; }, postCreate: function(){ this.inherited(arguments); this.connect(this.textbox, "onmouseup", function(){ this._mouseIsDown = false; }); this.connect(this.textbox, "onmousedown", function(){ this._mouseIsDown = true; }); this.connect(this.textbox, "onfocus", function(e){ this._onFocus(this._mouseIsDown ? "mouse" : e); this._mouseIsDown = false; }); this.connect(this.textbox, "onblur", "_onBlur"); } }); });