我想让HTML5的datepicker像控件一样。 (http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_date)。为此,我想阻止任何用户选择,而我仍然可以通过代码进行选择。我阻止了对mousedown和selectstart事件的选择,但之后我无法获得正确的光标位置。任何人都可以给我指导或做样的工作
示例代码(带有ext核心框架):
this.root.on('mousedown', function (evt, el) {
me.select(el);
evt.preventDefault();
});
select : function(el) {
var cur = this.getCursorPos(el);
var section = this.modes[this.format].getSectionByPos(cur);
this.setTextSelection(el, section.start, section.end);
},
getCursorPos : function (input) {
if ("selectionStart" in input && document.activeElement == input) {
return {
start: input.selectionStart,
end: input.selectionEnd
};
}
else if (input.createTextRange) {
// code that supports other browser
}
return -1;
}
setTextSelection : function(el, start, end) {
if ("selectionStart" in el) {
setTimeout(function() {
el.selectionStart = start;
el.selectionEnd = end;
}, 1);
}
else if (el.createTextRange) {
// code that supports other browser
}
},