Browse Source

Merge pull request #689 in VISUAL/fineui from ~FRANK.QIU/fineui:master to master

* commit '7df2ee6441238d4858be72e390839ee7b679f722':
  解决IE下不能获得光标的问题
  tab键不隐藏
  直接监听jq的focus事件
  fix在输入框按下tab键,watermark消失
es6
guy 6 years ago
parent
commit
627abbf3b8
  1. 46
      dist/base.js
  2. 35
      src/base/single/editor/editor.js
  3. 11
      src/base/single/input/input.js

46
dist/base.js vendored

@ -8469,18 +8469,30 @@ BI.Editor = BI.inherit(BI.Single, {
}
e.stopEvent();
});
this.watermark.element.css({
position: "absolute",
left: "3px",
right: "3px",
top: "0px",
bottom: "0px"
}
var _items = [];
if (this.watermark) {
_items.push({
el: this.watermark,
left: 3,
right: 3,
top: 0,
bottom: 0
});
}
_items.push({
el: this.editor,
left: 0,
right: 0,
top: 0,
bottom: 0
});
var items = [{
el: {
type: "bi.default",
items: this.watermark ? [this.editor, this.watermark] : [this.editor]
type: "bi.absolute",
items: _items
},
left: o.hgap + o.lgap,
right: o.hgap + o.rgap,
@ -8515,8 +8527,11 @@ BI.Editor = BI.inherit(BI.Single, {
this.editor.on(BI.Input.EVENT_KEY_DOWN, function (v) {
self.fireEvent(BI.Editor.EVENT_KEY_DOWN, arguments);
});
this.editor.on(BI.Input.EVENT_QUICK_DOWN, function (v) {
self.watermark && self.watermark.invisible();
this.editor.on(BI.Input.EVENT_QUICK_DOWN, function (e) {
// tab键就不要隐藏了
if (e.keyCode !== BI.KeyCode.TAB && self.watermark) {
self.watermark.invisible();
}
});
this.editor.on(BI.Input.EVENT_VALID, function () {
@ -9756,6 +9771,10 @@ BI.Input = BI.inherit(BI.Single, {
"leading": true,
"trailing": false
});
this._focusDebounce = BI.debounce(BI.bind(this._focus, this), BI.EVENT_RESPONSE_TIME, {
"leading": true,
"trailing": false
});
this._blurDebounce = BI.debounce(BI.bind(this._blur, this), BI.EVENT_RESPONSE_TIME, {
"leading": true,
"trailing": false
@ -9764,7 +9783,7 @@ BI.Input = BI.inherit(BI.Single, {
.keydown(function (e) {
inputEventValid = false;
ctrlKey = e.ctrlKey;
self.fireEvent(BI.Input.EVENT_QUICK_DOWN);
self.fireEvent(BI.Input.EVENT_QUICK_DOWN, arguments);
})
.keyup(function (e) {
if (!(inputEventValid && e.keyCode === BI.KeyCode.ENTER)) {
@ -9787,6 +9806,9 @@ BI.Input = BI.inherit(BI.Single, {
.mousedown(function (e) {
self.element.val(self.element.val());
})
.focus(function (e) { // 可以不用冒泡
self._focusDebounce();
})
.focusout(function (e) {
self._blurDebounce();
});
@ -9834,7 +9856,6 @@ BI.Input = BI.inherit(BI.Single, {
_click: function () {
if (this._isEditing !== true) {
this._focus();
this.selectAll();
this.fireEvent(BI.Input.EVENT_CLICK);
}
@ -9935,7 +9956,6 @@ BI.Input = BI.inherit(BI.Single, {
}
if (!this._isEditing === true) {
this.element.focus();
this._focus();
this.selectAll();
}
},

35
src/base/single/editor/editor.js

@ -74,18 +74,30 @@ BI.Editor = BI.inherit(BI.Single, {
}
e.stopEvent();
});
this.watermark.element.css({
position: "absolute",
left: "3px",
right: "3px",
top: "0px",
bottom: "0px"
}
var _items = [];
if (this.watermark) {
_items.push({
el: this.watermark,
left: 3,
right: 3,
top: 0,
bottom: 0
});
}
_items.push({
el: this.editor,
left: 0,
right: 0,
top: 0,
bottom: 0
});
var items = [{
el: {
type: "bi.default",
items: this.watermark ? [this.editor, this.watermark] : [this.editor]
type: "bi.absolute",
items: _items
},
left: o.hgap + o.lgap,
right: o.hgap + o.rgap,
@ -120,8 +132,11 @@ BI.Editor = BI.inherit(BI.Single, {
this.editor.on(BI.Input.EVENT_KEY_DOWN, function (v) {
self.fireEvent(BI.Editor.EVENT_KEY_DOWN, arguments);
});
this.editor.on(BI.Input.EVENT_QUICK_DOWN, function (v) {
self.watermark && self.watermark.invisible();
this.editor.on(BI.Input.EVENT_QUICK_DOWN, function (e) {
// tab键就不要隐藏了
if (e.keyCode !== BI.KeyCode.TAB && self.watermark) {
self.watermark.invisible();
}
});
this.editor.on(BI.Input.EVENT_VALID, function () {

11
src/base/single/input/input.js

@ -29,6 +29,10 @@ BI.Input = BI.inherit(BI.Single, {
"leading": true,
"trailing": false
});
this._focusDebounce = BI.debounce(BI.bind(this._focus, this), BI.EVENT_RESPONSE_TIME, {
"leading": true,
"trailing": false
});
this._blurDebounce = BI.debounce(BI.bind(this._blur, this), BI.EVENT_RESPONSE_TIME, {
"leading": true,
"trailing": false
@ -37,7 +41,7 @@ BI.Input = BI.inherit(BI.Single, {
.keydown(function (e) {
inputEventValid = false;
ctrlKey = e.ctrlKey;
self.fireEvent(BI.Input.EVENT_QUICK_DOWN);
self.fireEvent(BI.Input.EVENT_QUICK_DOWN, arguments);
})
.keyup(function (e) {
if (!(inputEventValid && e.keyCode === BI.KeyCode.ENTER)) {
@ -60,6 +64,9 @@ BI.Input = BI.inherit(BI.Single, {
.mousedown(function (e) {
self.element.val(self.element.val());
})
.focus(function (e) { // 可以不用冒泡
self._focusDebounce();
})
.focusout(function (e) {
self._blurDebounce();
});
@ -107,7 +114,6 @@ BI.Input = BI.inherit(BI.Single, {
_click: function () {
if (this._isEditing !== true) {
this._focus();
this.selectAll();
this.fireEvent(BI.Input.EVENT_CLICK);
}
@ -208,7 +214,6 @@ BI.Input = BI.inherit(BI.Single, {
}
if (!this._isEditing === true) {
this.element.focus();
this._focus();
this.selectAll();
}
},

Loading…
Cancel
Save