46 lines
1.5 KiB
JavaScript
46 lines
1.5 KiB
JavaScript
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");
|
|
}
|
|
});
|
|
});
|