我需要更改输入的插入符号位置,在该位置添加给定的数字(示例)。
app.controller('MainCtrl', function($scope, $element, $timeout, $filter) {
//$scope.val = '12';
$scope.$watch('val', function(newValue, oldValue) {
if (!isNaN(newValue)) {
if (newValue.length > 3) {
//Set Caret Position
}
}
});
});
是否可以执行类似此示例的操作?
我需要例如:
输入:1234。
因此插入符号的位置将为2。
新数字:9
决赛:12934
提前致谢。
我认为这类情况在指令中看起来更好。例如:
app.directive('caret', function() {
function setCaretPosition(elem, caretPos) {
if (elem !== null) {
if (elem.createTextRange) {
var range = elem.createTextRange();
range.move('character', caretPos);
range.select();
} else {
if (elem.setSelectionRange) {
elem.focus();
elem.setSelectionRange(caretPos, caretPos);
} else
elem.focus();
}
}
}
return {
scope: {value: '=ngModel'},
link: function(scope, element, attrs) {
var caret = Number(attrs.caret);
scope.$watch('value', function(newValue, oldValue) {
if (newValue && newValue != oldValue && !isNaN(newValue) && newValue.length > (caret + 1)) {
setCaretPosition(element[0], caret);
}
});
}
};
});
用法:
<input ng-model='val' caret="2" />
我setCaretPosition
从这个答案中使用了跨浏览器光标定位的功能。
//plnkr.co/edit/5RSgzvyd8YOTaXPsYr8A?p=preview
问题内容: 如何获取输入中文本插入符号的索引? 问题答案: -> 选择开始
我正在尝试使用用户对web表单的输入创建一个用户名cookie。然而,它不起作用,我不知道为什么。你知道问题出在哪里吗?
我正在尝试做一个游戏,人们不必在输入字段内点击,以便键入,我有输入字段的值是通过键入设置的,除了每键入一个新的字母,它重置输入字段而不是添加值。这是代码:
问题内容: 我希望将我在瞬间生成的默认值绑定到日期和时间输入字段。我尝试了ng-model并将其直接绑定到value属性。但是,这似乎都不起作用。有办法使它起作用吗? 编辑: 另外,如何绑定时间输入字段呢? 这是一个小提琴:http : //jsfiddle.net/chrisyeung/bF9Pq/ 问题答案: 如果您使用的是chrome,则必须将日期格式指定为“ yyyy-MM-dd”。 否则
问题内容: 我目前正在使用YUI小工具。我也有一个Javascript函数来验证YUI为我绘制的输出: 这是我的: 正如您所看到的,我的问题是,如何将值设置为? 问题答案: 试试…为YUI 正常 与JQuery
问题内容: 有人知道如何将文本框中的键盘插入符移动到特定位置吗? 例如,如果一个文本框(例如,输入元素,而不是文本区域)中包含50个字符,而我想将插入号放置在字符20之前,我该如何处理? 这与以下问题有所不同:jQuery在TextArea中设置光标位置,这需要jQuery。 问题答案: 摘自Josh Stodola的使用Javascript在Textbox或TextArea中设置键盘插入符号的位